內的另一個構造器和父類的構造考慮下面的類:調用構造函數
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爲什麼?我的意思是除了保持任何儘可能簡單的基本原則:) –