在Java中,所有類都隱式擴展Object類,除此之外,最大隻有一個類可以繼承。 隱含地,Java允許我們擴展2個類,或者它是Java遵循的其他邏輯?Java不支持多重繼承,但隱含在Java中的每個類擴展了Object並允許多一個
回答
您的類擴展了其他類,但它也擴展了Object,所以您仍然處於一行繼承中,而不是兩行。
沒有指定擴展名的每個Java類都會自動擴展Object。因此,如果從另一個類擴展,則會有一些不擴展類的端點擴展,並且默認爲Object。這會導致每個類傳遞擴展Object。
不完全是...... 您可以一次從一個類繼承,但沒有任何東西阻止這個類擁有父類本身。 「
」不,這是對隱式對象繼承的一種誤解,每個Java類最終都是從Object超類繼承而來,無論是否存在擴展的Object語句,如果擴展了應用程序編程接口(API)類,對象繼承是通過直接超類傳遞的,而不是從超類和Object類傳遞。從Object類的隱式繼承通過一行父類繼承,以確保所有用戶定義的類都具有標準的toString(),equals()和hashCode()方法「
其他答案在這裏 - Inheritance in java and Superclasses(Object, Class)
號你允許編輯只擴展一個類,但這個類本身可以擴展另一個類。如果您沒有在extends子句中指定任何超類,則可以直接從Object擴展。如果你在extends子句中指定了一個類,那麼你可以從這個擴展它自己的超類等的類擴展到Object。
否。在Java中,一個類只能從一個類繼承,默認情況下這是您引用的Object類。然而,我們可以指定一個不同的類來繼承(使用'extends'關鍵字)。然而,這個父類本身會有一個父類,等等,直到最終我們回到Object類。也許一個例子將有助於:
class Animal {
}
class Cat extends Animal {
}
class Tiger extends Cat {
}
在上面的例子虎從貓從動物,其中(默認情況下)從對象繼承繼承繼承。
希望這可以讓事情變得輕鬆一些。
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
namespace MyExamples
{
public class Object
{
static void Main(string[] args)
{
}
public void A1()
{
}
}
public class B : Object
{
public void B1()
{
}
}
public class D : B
{
public void D1()
{
D obj = new D();
obj.A1();
}
}
}
//這是這樣的,如果一個類繼承另一個類的話,我在想,它不會擴展對象類了 //但父類將實施對象類...這是相當於多級繼承 //像D一樣擴展B,但B不再擴展對象類 //和B默認擴展對象類。因此,如果我們創建d的一個目的則我們可以訪問對象類太
類A //內部延伸對象類
{
}
公共類別B延伸的// JVM不會在這裏擴展對象類,因爲A已經擴展了對象
{
}
你能提供一些關於你在這裏做什麼的解釋嗎? – bwegs 2015-03-19 14:55:35
1,對象類是每個類的超類 – 2015-03-26 04:49:24
對象類是每個類的超類,但關係是多級而不是多級。這裏,類A不會繼承任何內部類,因此在內部繼承了類A的對象類,但類B正在擴展類A,因此另一個類(對象類)無法在此處擴展。但是Object Class仍然是Class B的超類,因爲Class A在內部擴展了Object類。 (對象---->甲-----> B) – 2015-03-26 05:00:27
- 1. Java 8支持多重繼承嗎?
- 2. 擴展多個Java類不重複
- 3. 爲什麼java不支持多繼承?
- 4. Java - 需要擴展Applet,但已經繼承另一個類
- 5. 流繼承 - B類擴展了一個
- 6. PHP7並支持多重繼承?
- 7. dotnet不支持多繼承。但多接口支持?
- 8. 擴展/ 2類繼承Java中
- 9. Java的多重繼承ActionBarActivity
- 10. Java中的每個子類都從兩個類(Object及其超類)繼承?
- 11. 從多個類擴展Java中
- 12. Zeppelin擴展了多個JAVA進程
- 13. Java如何擴展一個隱藏類
- 14. Ruby中的多重繼承...繼承自多個控制器類。
- 15. 用Java擴展多個類的替換
- 16. 每個類如何繼承Object類?
- 17. 在java中,繼承類也繼承自類Object?
- 18. 在PHP的類級別允許多重繼承嗎?
- 19. 擴展MapActivity和另一個類:避免多繼承
- 20. Java中的每個類擴展Object.Then如何擴展其他類。因爲一個類只能擴展一個類
- 21. Java中的繼承 - 只從父類中擴展一些方法
- 22. 擴展類沒有多重繼承或重複的代碼
- 23. Java中允許多個&&語句?
- 24. java和多繼承
- 25. 爲什麼許多SWT控件不允許繼承子類?
- 26. 允許多個類
- 27. 多重繼承不能在C#中支持。爲什麼?
- 28. 多重繼承在Ruby,Java等
- 29. 每個Java的Java,但多個迭代器類型?
- 30. 爲什麼Java中不允許用Foo(Object [])重載Foo(Object ...)?
即使你仔細看,也不限於2。它可以是無限多的,但這並不改變,你只能擴展一個類。 – fmucar 2012-03-20 16:07:39