2014-04-27 108 views
0

Java中不支持多繼承(迄今爲止,但可能會保持這種狀態)。多繼承和Java

但是,Object類呢?假設您有一個從Object類繼承的對象A。現在,您創建一個繼承自A類的類B。但是,對於繼承Object類的每個類,是不是B展示了從ObjectA繼承的多重繼承?

難道Java 知道它總會有繼承自Object類的對象,因此可以很容易地支持它嗎?否則,如果每個人都無情地繼承多個類,那麼Oracle將不得不實施更多的支持。

或者,是因爲它不是從兩個ObjectA繼承,B只從A其中包含Object繼承全部包裹在一個對象繼承?

+2

底部的句子有點是你的問題的答案。 –

+0

Java 8通過接口中的'default'方法添加了種類多重繼承。 –

回答

3

這個問題是基於一個誤解。

但是,Object類呢?假設你有一個從Object類繼承的對象A.現在,您創建一個從A類繼承的類B.但是,每個繼承Object類的類都不是B繼承Object和A的多重繼承?

的誤區,就是在這裏 - 「與每一個類繼承Object類」

事實上,一類只(隱含的)擴展Object如果沒有明確extend另一個類。

Object是每個班的終極超班,但它不是每班的直接超班。 Java類層次結構是一棵樹,頂部有Object

+0

謝謝!我們中的一些人正在研究最終的結果,當我們意識到每個類都繼承了對象類(現在已經停止實現)時,我們遇到了障礙。 – Waterbagel