2017-01-23 50 views
-4

我的問題是關於java中繼承的優點。如果通過創建包可以完成同樣的事情,那麼繼承的用途是什麼?

所有一類的屬性可以被另一個類,如果這兩個類都在同一個包進行訪問,那麼什麼在繼承是特殊的? 繼承也做同樣的事情,對吧?

在此先感謝。

+3

沒有,包和繼承不這樣做同樣的實例 - 甚至類似的東西。 *「雖然一個類可以被另一個類擴展,如果兩個類都屬於同一個包」*或者它們不在同一個包中。他們在同一個包中與一個班級是否可以擴展另一個班級無關。我建議您在Java書籍和/或教程中進一步閱讀繼承和封裝,以便更深入地瞭解它們。 –

+0

java中的繼承是一種機制,其中一個對象獲取父對象的所有屬性和行爲。 「落後於Java繼承的想法是,你可以創建基於現有的類建立新類。當你從現有的類繼承,你可以重複使用的方法和父類的字段,你可以添加新的方法和字段也「。 這是在沒有繼承的情況下完成的。這是我的困惑。我認爲有人會清除它 –

+0

它並沒有獲得父對象的所有屬性和行爲。它獲取父類的屬性和行爲。 – tempoc

回答

1

所有一類的屬性可以由另一個類,如果這兩個類在同一包中

錯誤訪問。僅當涉及的屬性受軟件包保護(非公共,受保護或私有)時纔是如此。支配這一點的主題是封裝,而不是繼承。 Java中的封裝使您可以設置對象可以從其他對象訪問屬性的規則。這些規則大部分與繼承無關。

那麼什麼在繼承是特殊的?繼承也做同樣的事情,對吧?

錯了。Inheritance是完全不同的主題。它描述了子類如何利用父類提供的模式。當B類從A繼承據說B的所有實例都A的情況下,不保證A的實例也是B.

相關問題