亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定

why繼承q 變量不能繼承嗎? 為什么不報錯

package practice;


public class Why extends Q{

int a = 10;

void show() {

System.out.println(a);

}

public static void main(String[] args) {

Why w = new Why();

w.show();

}

}

?class Q{

int a = 0;

}


正在回答

3 回答

????????子類繼承父類后,創建的子類對象會在內存中開辟一塊區域用于存放該對象的屬性和方法地址,但這塊區域被分成兩塊,一塊用來存放從父類繼承的屬性和方法地址,一塊用來存放子類獨有的屬性和方法地址(包括重寫的方法)。

????????因此你創建的子類對象其實有兩個變量a,如果你在show()方法里在輸出super.a,就可以輸出從父類繼承的a的值。

0 回復 有任何疑惑可以回復我~

這就相當于重寫吧

0 回復 有任何疑惑可以回復我~

https://img1.sycdn.imooc.com//5ae55e2b000123ba02460046.jpg是繼承了,可是子類又進行賦值,所以就。。。

1 回復 有任何疑惑可以回復我~

舉報

0/150
提交
取消
Java入門第二季 升級版
  • 參與學習       531142    人
  • 解答問題       6326    個

課程升級!以終為始告別枯燥,在開發和重構中體會Java面向對象編程的奧妙

進入課程

why繼承q 變量不能繼承嗎? 為什么不報錯

我要回答 關注問題
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號