内的另一个构造器和父类的构造考虑下面的类:调用构造函数
class MyPanel extends JPanel {
public MyPanel() {
super();
// Do stuff
}
public MyPanel(LayoutManager manager) {
super(manager);
// Do same stuff as the first constructor, this() can't be used
}
}
问题出现在第二个构造,试图避免重复代码的时候。这是因为我不能在相同的构造函数中调用super()
和this()
。
我可以将通用代码提取到单独的方法中,但是我确定必须有更优雅的解决方案来解决这个问题?经常使用
如果你能更好地描述它,找不到这些词,请随时更新标题。 :-) – Zar
大多数人都认为构造函数应尽可能简单......所以如果你的“东西”不仅仅是一些变量赋值,我会建议使用一种方法来提取公共代码。否则,也许初始化可能会做到这一点。 –
@TillHelgeHelwig为什么?我的意思是除了保持任何尽可能简单的基本原则:) –