我是Java的初學者,這看起來很簡單,但我無法弄清楚我在下面做錯了什麼。爲什麼「int a,b;」而「int c = a-b」在我給「a」和「b」賦值時不工作?
我創建了一個有3個整數a,b和c的類。
public class Temp {
private int a;
private int b;
private int c = a - b;
public Temp(int a, int b) {
this.a = a;
this.b = b;
}
public int getA() {
return a;
}
public int getB() {
return b;
}
public int getC() {
return c;
}
然後在主類中,我創建了一個對象並給出了a和b的值。但爲什麼不計算c(如下所示,在打印結果時,結果爲0)?
主營:
public class Main122 {
public static void main(String[] args) {
Temp z = new Temp(8, 7);
System.out.println(z.getA());
System.out.println(z.getB());
System.out.println(z.getC());
}
}
結果:
8
7
0
請幫我,謝謝!
字段初始值設定項在構造函數的主體之前執行,所以在計算'a-b'時,'a'和'b'仍然是默認值'0'。 – Andreas
非常感謝! – justinj