簡體   English   中英

沒有java.lang.Object作為超類的類

[英]Class without java.lang.Object as a superclass

我們知道默認情況下,每個類最終都繼承自java.lang.Object類,這就是為什么toString這樣的方法可隨時用於每個類的原因。 因此,泛型類實際上如下所示:

public class Foo extends java.lang.Object {

public Foo() {super(); }
}

但是,是否有可能創建一個不會自動從Object類繼承並因此沒有超類的類? 如果是這樣,會產生什么影響?

沒有java.lang.object作為超類,我們就無法編寫類。 編譯器會自動擴展對象類。只有對象類本身和接口才是不擴展對象類的對象。

不,那是不可能的。 文檔中

類對象是類層次結構的根。 每個類都有 Object作為超類 所有對象(包括數組)都實現此類的方法。

我不相信您可以擁有一個不繼承Object 對象引用為超類 ..

java.lang包中的Object類位於類層次結構樹的頂部。 每個類都是Object類的直接或間接后代。 您使用或編寫的每個類都繼承Object的實例方法。 您不需要使用任何這些方法,但是,如果您選擇使用這些方法,則可能需要使用特定於您的類的代碼覆蓋它們。

如果未明確聲明繼承,則將隱式聲明。 現在,繼承顯然不會形成一個循環。 Object類是唯一一個沒有人繼承的類,它是層次結構的頂層。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM