例如,我有一个名为Lives
的子类,它使用超类GLabel`的构造函数:
public Lives(int lives, int xPosition, int yPosition){
super(lives+"", xPosition, yPosition);
this.lives = lives;
}
在GLabel中,有一个font-size变量,但字体太小。我想改变这个。我怎么知道变量名在超类中创建的变量是什么?
编辑:我意识到这些方法应该有getter和setter,并且应该记录这些。所以我的问题是关于没有getter和setter以及实例变量是公共的情况。
答案 0 :(得分:1)
从Lives
对象中,您只需拨打
super.setFont(font);
在setFont()
上调用Glabel
方法。
如果您的Lives
课程未覆盖setFont()
方法,您也可以直接致电
setFont(font);
没有super
前缀。
答案 1 :(得分:1)
JLabel
是JContainer
的子类。 JContainer
提供public method named setFont(),因此您可以从程序中的任何位置调用它,您可以在其中引用标签对象(但Lives'构造函数是一个有效的位置)。
改变超级班级的可能性'属性取决于其可见性(例如受保护的)和可用的访问器方法(例如getName()
和setName()
)。
如果属性/访问者被声明为public或protected,您可以直接从子类内部更改它。在默认visibilty的情况下,子类需要与超类在同一个包中来操作相应的属性。