深入Java萬物之母Object類詳情
前言
在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類內容請搜索WalkonNet以前的文章或繼續瀏覽下面的相關文章希望大傢以後多多支持WalkonNet!
推薦閱讀:
- 深入理解JAVA基礎類庫中對象Object類
- 一文帶你瞭解Java中的Object類及類中方法
- java中Object類4種方法詳細介紹
- 一文詳解Object類和抽象類
- java中的空指針異常情況以及解決方案