Java子類到底有沒有繼承父類的私有字段?

時間 2021-06-02 02:27:17

1樓:Seven555

當初自己也有小糾結一下這個問題,不過後來看debug就明白啦public

class

Person

public

class

Student

extends

Person

自己在寫個main函式測試一下, new乙個student物件,eclipse的debug結果:

實際上有繼承過來啦

2樓:gavin

this.field跟this.method的this的語義是不同的。

this.method表示呼叫當前物件的方法。

而字段是沒有多型的概念的。this.field僅僅是表明方法所在類的字段而已。

3樓:鉛筆

看你怎麼理解繼承了。。

所謂能不能繼承,只是技術上的手段。

首先在構造乙個類的時候,會上溯至Object去構造它的所有父類。也就是說,不管它私有不私有,父類已經被構造好了,記憶體已經存在了,不會因為它是private就不分配記憶體了

如果認為:

子類繼承父類變數是指:能直接使用到該變數,而不用super去呼叫。那它就是沒有繼承。

如果認為:

這個變數它實際存在,我感覺它已經到子類裡面來了只是我不用super拿不到。是一種繼承的話,那它就是繼承了的。

4樓:若初見

因為person類的構造器是public的,所以不僅可以從子類,也可以從任意的地方訪問構造器,new person(xx,xx)

java中子類有沒有繼承父類的私有變數?

atlanc 確實是繼承了,但是父類臨終前對子類說,這筆遺產,你不能亂動,只能用我的非private方法來動。也就是說,父類的private屬性都會遺傳給子類,但是子類只能沿襲父類的生活習慣來使用這些屬性。 肖遙 我看到官方文件說不能繼承私有成員的時候也懵了。標準答案是 不能繼承 但是這裡的處理是很...

如何理解 模板類繼承模板類, 子類看不到父類成員?

王現紅 類模板能夠承繼也能夠被承繼。1.在乙個類模板中,乙個非依靠型基類是指 無須知道模板實參就能夠徹底確定型別的基類。例如 template class Base 正常訪問承繼成員 T strange T是Base T,而不是模板引數留意事項 關於模板中的非依靠型別而言,假如在他的派生類中查詢乙個...

Java的多型為何可以由子類例項化父類?

胖不起來 程式最終執行,取決於你new的是誰,型別只是一種約束,比如,父類有乙個 a 方法,子類重寫了a,並且增加了 b 方法,假如定義是這樣 Father f new son 在記憶體中實際存在的是son的例項,那是不是可以呼叫 a 和 b 了呢,不是的,這時候 Father型別就起約束作用了,使...