我在21天內使用Sams Teach Yourself Java學習Java(順便提一句,這比我花了21天多)。在第五章中,最後的練習要求我創建一個Point類的子類FourDPoint。我做了這個,但有一個有趣的結果。我第一次做的運動,這是我的代碼:使用超級和實例變量的構造函數
import java.awt.Point;
class FourDPoint extends Point {
int x;
int y;
int z;
int t;
FourDPoint(int x, int y, int z, int t){
super(x, y);
this.z = z;
this.t = t;
}
public static void main(String[] arguments){
FourDPoint fp = new FourDPoint(5, 5, 10, 10);
System.out.println("x is " + fp.x);
System.out.println("y is " + fp.y);
System.out.println("z is " + fp.z);
System.out.println("t is " + fp.t);
}
}
結果:x爲0,y爲0,z爲10,y爲10
我通過消除intitilized改變了我的代碼x和y,這給了我正確的答案。我的問題:爲什麼我得到x是0而y是0? intitiaized x和y優先於super(x,y)嗎?