我有一個類似於In Java, why can't I declare a final member (w/o initializing it) in the parent class and set its value in the subclass? How can I work around?的問題,但需要不同的解決方案。就像在上面的例子中,我想在超類中聲明一個變量爲Final,但我希望子類給它賦值。是什麼讓我的問題不同,但我不希望將值傳遞給子類,我希望子類「知道」它的值,所以上述解決方案對我無效。然後我試圖做到這一點:將最終值推遲到子類java
public class Superclass{
public final int x;
public Superclass(int x){
this.x = x;
}
}
public class Subclass extends Superclass{
public Subclass(){
x = 1;
super(x);
}
}
......哪些沒有工作(調用super()必須在第一行:/)。但這基本上是我想要的行爲。有沒有一個好的方法來做到這一點?謝謝!
你爲什麼x設置爲1,然後試圖通過超類集合X爲1? –
我不明白爲什麼'super(1)'不適合你。你能解釋那部分嗎? –
好吧,看來我已經推翻了這個問題,我猜想是愚蠢的問題。多謝你們。 – Steve