子類可以改變父類的屬性么
給我講講?這是為什么?
?父類里邊有 int n=10;?
?public void method(){
????System.out.println(n);
}
在 子類里有 n=20;
main里邊不論引用父類還是子類構造的子類對象 調用 method 輸出的都是10;為什么啊
給我講講?這是為什么?
?父類里邊有 int n=10;?
?public void method(){
????System.out.println(n);
}
在 子類里有 n=20;
main里邊不論引用父類還是子類構造的子類對象 調用 method 輸出的都是10;為什么啊
2017-07-24
舉報
2017-07-24
子類方法中有一個隱藏的super();語句,當運行子類方法時,會先去訪問父類的屬性,如果父類種已經有這個屬性被定義,那么就使用父類的屬性,這時 n并沒有被賦予子類的值,還是父類的,然后是輸出語句,你可以將int n = 10;放在super();語句下面 在調用method()方法看看.