如果抽象超類具有隻定義初始字段參數的構造函數,並且其中一個子類在其初始化中未使用某個字段參數,我可以簡單地將「null」放在未使用的位置字段參數進入super()調用?對超參數使用null
爲了更清楚地說明這一點,這裏有一個例子:
public abstract class SuperClass {
protected int xPos;
protected int yPos;
protected int zPos;
public SuperClass(int xPos, int yPos, int zPos) {
this.xPos = xPos;
this.yPos = yPos;
this.zPos = zPos;
}
... getters & setters, etc.
}
public class SubClass extends SuperClass {
public SubClass(int xPos, int yPos) {
super(xPos, yPos, null);
}
}
這是可以接受的?這是好的編碼習慣嗎?或者有更多的構造函數接受不同類型的參數?
在談論編碼練習之前,您會收到編譯錯誤。只需將其設置爲***明智的***默認值即可。 – nhahtdh
無法將int設置爲'null' ....如果編譯器可以接受,則爲 –
。 – elyashiv