簡體   English   中英

我們如何在java中創建類Object類

[英]How can we create a class like Object class in java

在java中,默認情況下,每個類都擴展了Object ,就像我們如何使我們的類A可以在我們的應用程序中默認擴展。

簡短的回答 - 你不能。

稍微長一點的答案 - 您可以創建自己的自定義空類...

public class MyObject {
}

..並使你的項目中的每個類都擴展它...

public class MyOtherClass extends MyObject {
    public int doStuff();
}

......但實際上不太可能(好)使用它。

不會。其他類默認擴展類是Object 你不能改變它。 它是Java語言的基礎部分。

JLS 8.1.4說:

給定(可能是通用的)類聲明C<F1,...,Fn> (n ≥ 0, C ≠ Object) ,類類型C<F1,...,Fn>的直接超類是給定的類型如果存在extends子句,則聲明Cextends子句,否則為Object

沒有“蠕動的空間”。


如果您希望應用程序中的所有類都是Object其他類,那么您必須在每個類上都有一個extends子句。

您不能將自己的類定義為Object類的替代。

但是,您可以創建自己的基類,並讓所有類從該基類擴展。

答:你不能!!

  • Object class是java中所有classes的父classes

  • 什么都classes ,你用的是子類object class默認

  • 您可以保證總會有某些方法,如toString()equals()hashCode()等。

  • 它有助於synchronizationgarbage collection


為什么會這樣:

Java是這樣設計的,因此Object類通過提供所有上述和更多功能來幫助對象通信和對象識別的基礎,從而使這些功能顯式擴展不需要的類


更多信息:

  1. 在這里看看這個Stackoverflow的答案
  2. Oracle Docs
  3. Grep代碼

沒有辦法做到這一點。

你只需要明確地讓每個類擴展A.就像這樣

public class B extends A {

}

答案是你不能。

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

如果沒有明確地使用extends它肯定是不可能的。 Object是每個Java Class的父類,所以我認為你需要堅持下去。 除此之外,您始終可以使用自己喜歡的課程擴展課程。

希望能幫助到你。

克萊門西奧莫拉萊斯盧卡斯。

暫無
暫無

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

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