2010-01-30 80 views
2
  1. Java中的類不能擴展多個類。Java繼承有疑問

  2. Java中的每個類都繼承java.lang.Object。

  3. 從1和2開始:Java中的任何類都不能擴展除java.lang.Object以外的任何其他類。

這個扣除有什麼問題?

+1

你應該看看數字2,Java中的每一個類都是java.lang.Object的一個*子類* –

+0

而且這些評論讓我感到難以置信:) – aperkins

回答

4

爲了擴大在什麼Tangens說:

對於2號,它應改爲閱讀:

每類不明確 聲明它延伸的類擴展 對象

即如果你使用extends關鍵字,你現在說你明確地擴展了Object以外的東西。但是,在某些時候,如果您遵循擴展層次結構,則該擴展路徑將返回到Object。

這個的另一部分是繼承是一個真正的鏈 - 你擁有你父母和他們的父母以及他們父母的父母的所有屬性等等。由於這個等級的頂部始終是Object,所以你必須級別或其他,擴展對象。

+0

感謝您的明確解釋:) – gameover

7

一次只能擴展一個類。但A可延伸B可延伸C等。

+0

擊敗了我。你也可以使用Interfaces實現多重繼承的許多目標。 –

+0

可以說我只有一個班。它已經擴展了Object。那麼我不應該被允許擴展任何其他課程。 – gameover

+0

如果它通過'class A extends Object'顯式擴展到Object,那麼它不能擴展到任何其他的,但在Java中,一切都是'Object'的子類 –

2

正確的語句:

  1. Java中的類不能直接延伸至比一個類的更多。

  2. Java中的每個類都直接或間接地繼承java.lang.Object。

1

繼承是一棵樹。一個類只能直接擴展一個類,但是該類可以擴展另一個擴展另一個類,等等。因此,您可以說A擴展了對象,B擴展了A,C擴展了B等。C間接從Object繼承。