繁体   English   中英

每当调用任何超类的构造函数时,都要使子类执行某些操作

[英]making a subClass do something whenever any of the super class' constructor is called

我想扩展JPanel。

class VisiblePanel extends JPanel{

}

如何使VisiblePanel调用setVisible(true); 只要实例化,而不会一一覆盖所有构造函数?

通过提供调用this.setVisible(true);默认构造函数this.setVisible(true); 并确保如果您重载构造函数,您仍然会照顾它

我将Jigar Joshi的答案和DaaaahWhoosh的评论结合起来,并添加了更多内容。

超类构造函数不会被继承,因此无法调用超类构造函数。 Java构造函数继承

因此,最好的方法是创建一个默认的(不带参数)构造函数,该构造函数执行所需的操作并从其他构造函数调用它。 如果需要默认构造函数来执行其他构造函数不应执行的操作,则创建初始化方法并从每个构造函数中调用它都是可行的方法。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM