首頁 > 軟體

深入Java萬物之母Object類詳情

2022-06-22 18:04:37

前言

在Java中,有一個很神奇的類,所有的類見了它都得恭敬的叫一聲“父親”,因為它就是Java中的萬物之父,Object類,它是所有類的預設父類別 ,子類不用使用extends關鍵字繼承它,不管是JDK中的類,還是自定義的類

一、介面補充知識

1.介面和介面之間繼承的,介面堅決不能繼承一個類

2.如果一個類既需要繼承一個類,又需要實現多個介面時先使用extends繼承一個類,再使用implement實現多個介面

3.關於介面的命名規範:為了區分介面和類,命名介面使用 I 開頭,IRun,ISwim,子類實現一個介面時,命名以相應的介面開頭,以impl結尾
eg:如果是IRun的子類,RunImpl
如果子類實現多個父介面,不需要使用此規範來命名

二、Object類

在Java中Object類是萬物之母
全名稱:包名.類名
java.lang.Object

1.重點一

Object類是Java中所有類的預設父類別,無需使用extends來定義,class宣告的類都有一個共同的父類別,Object類
因為Object類是所有類的父類別,使用Object參照來接收所有的型別,所有類都可以向上轉型轉為Object,引數最高統一化

Object obj1 = new Dog();
Object obj2 = new Person();
Objcet obj3 = new String();

這些都是可以的,都可以向上轉型為Object型別
如果有一個方法fun(Object obj),那麼obj就可以接收所有型別的物件

2.重點二

Object類中的所有方法子類全都繼承下來了
我們的列印方法System.out.println(任意的資料型別) – > 預設呼叫了該資料型別的toString()方法,因為Object類中存在toString();
此時子類沒有覆寫toString(),呼叫的就是Object的toString();

我們一直說“覆寫”一下toString();而不說寫一個toString方法,就是因為Object類中有toString方法,子類覆寫後就呼叫子類覆寫之後的

3.重點三

Java中參照資料型別之間的相等使用equals方法,不能使用“ == ”, 比較的是地址

沒覆寫之前呼叫的父類別的equals方法還是比較的地址:

4.重點四

Object不僅是所有類(class)的父類別,JDK對Object類做了擴充套件,Object類可以接收所有參照資料型別的物件(介面,陣列,類)

介面物件,陣列物件,這些看起來毫不相關的物件,都可以使用object來接收,因此在Java中,若一個方法引數或者返回值是Object型別,說明該引數或者返回值可以接收任意參照資料型別(陣列,類,介面)

除了8大基本型別沒法使用Object類接收以外,所有的型別都能使用Object來接受,為了讓Object可以接收所有的類,此時包裝類就應運而生了,把8大基本型別變為類。

總結

本篇部落格只是先帶大家瞭解Java中這個特殊的類,Object是Java中所有類的父類別,它可以接收所有的參照資料型別的物件

到此這篇關於Java萬物之母Object類詳情的文章就介紹到這了,更多相關Java Object類內容請搜尋it145.com以前的文章或繼續瀏覽下面的相關文章希望大家以後多多支援it145.com!


IT145.com E-mail:sddin#qq.com