VerySource

 找回密码
 立即注册
搜索
热搜: 活动 交友 discuz
查看: 987|回复: 7

super的疑惑

[复制链接]

2

主题

3

帖子

4.00

积分

新手上路

Rank: 1

积分
4.00
发表于 2020-3-23 13:30:01 | 显示全部楼层 |阅读模式
public class RoundButton extends JButton {
   
    public RoundButton(String label) {
        super(label);//super在此是什么意思?

Dimension size = getPreferredSize()
setPreferredSize(size);//这两句话不重复么?
回复

使用道具 举报

2

主题

12

帖子

11.00

积分

新手上路

Rank: 1

积分
11.00
发表于 2020-7-3 00:00:01 | 显示全部楼层
super(label)//是调用父类(超类)的构造函数。
从方法名就看得出来,getPreferredSize()的作用是返回一个值;而setPreferredSize(size)的作用是设置一个值。明显是不一样的。
回复

使用道具 举报

0

主题

5

帖子

4.00

积分

新手上路

Rank: 1

积分
4.00
发表于 2020-7-6 02:30:01 | 显示全部楼层
1.在带参数的构造函数中,子类是需要显式调用Super()方法调用父类构造函数,实行默认功能的。
2.一个是setter(),一个是getter()。字段的两种属性
回复

使用道具 举报

0

主题

3

帖子

4.00

积分

新手上路

Rank: 1

积分
4.00
发表于 2020-7-6 09:45:01 | 显示全部楼层
楼主要好好看书补补基础了
回复

使用道具 举报

0

主题

1

帖子

2.00

积分

新手上路

Rank: 1

积分
2.00
发表于 2020-7-10 10:45:01 | 显示全部楼层
super(label);//super在此是调用继承的JButton类,super的意思就是调用最接近父类的意思。
Dimension size = getPreferredSize()/*因为继承了JButton类。所以调用父类继承下来的                                  getPreferredSize()函数取得size的值,然后在复制给当前类的对象,就是一个封装的概念
setPreferredSize(size);//这两句话不重复么?
回复

使用道具 举报

0

主题

4

帖子

5.00

积分

新手上路

Rank: 1

积分
5.00
发表于 2020-7-11 11:30:01 | 显示全部楼层
extends是不继承构造方法的.必须自己写代码!super(label);调用父类的的构造方法!
回复

使用道具 举报

2

主题

3

帖子

4.00

积分

新手上路

Rank: 1

积分
4.00
 楼主| 发表于 2020-7-16 13:45:02 | 显示全部楼层
我是楼主,问一下在此调用父类的构造函数有什么用呢?再有,getPreferredSize()获取值给size,然后再用setPreferredSize(size)设置回去,也就是取出来再送回去,有什么意义么?
回复

使用道具 举报

0

主题

3

帖子

4.00

积分

新手上路

Rank: 1

积分
4.00
发表于 2020-7-17 14:30:01 | 显示全部楼层
可能是调用父类的构造方法来设置按钮的名字之类的吧。

没有严格遵守javaBean的规范:
Dimension size = getPreferredSize()
是将属性preferredSize的值赋给成员变量size;

getPreferredSize();
setPreferredSize(size);
将属性preferredSize设置为可以读和写。
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

Archiver|手机版|CopyRight © 2008-2023|verysource.com ( 京ICP备17048824号-1 )

快速回复 返回顶部 返回列表