深入Java萬物之母Object類詳情
前言
在Java中,有一個很神奇的類,所有的類見了它都得恭敬的叫一聲“父親”,因為它就是Java中的萬物之父,Object類,它是所有類的默認父類 ,子類不用使用extends關鍵字繼承它,不管是JDK中的類,還是自定義的類
一、接口補充知識
1.接口和接口之間繼承的,接口堅決不能繼承一個類
2.如果一個類既需要繼承一個類,又需要實現(xiàn)多個接口時先使用extends繼承一個類,再使用implement實現(xiàn)多個接口
3.關于接口的命名規(guī)范:為了區(qū)分接口和類,命名接口使用 I 開頭,IRun,ISwim,子類實現(xiàn)一個接口時,命名以相應的接口開頭,以impl結尾
eg:如果是IRun的子類,RunImpl
如果子類實現(xiàn)多個父接口,不需要使用此規(guī)范來命名
二、Object類
在Java中Object類是萬物之母
全名稱:包名.類名
java.lang.Object
1.重點一
Object類是Java中所有類的默認父類,無需使用extends來定義,class聲明的類都有一個共同的父類,Object類
因為Object類是所有類的父類,使用Object引用來接收所有的類型,所有類都可以向上轉型轉為Object,參數最高統(tǒng)一化
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大基本類型變?yōu)轭悺?/p>
總結
本篇博客只是先帶大家了解Java中這個特殊的類,Object是Java中所有類的父類,它可以接收所有的引用數據類型的對象
到此這篇關于Java萬物之母Object類詳情的文章就介紹到這了,更多相關Java Object類內容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關文章希望大家以后多多支持腳本之家!
相關文章
解決IDEA 2020.1版本 maven Test命令出現(xiàn)導包錯誤的問題
這篇文章主要介紹了IDEA 2020.1版本 maven Test命令出現(xiàn)導包錯誤的問題及解決方法,本文通過圖文并茂的形式給大家介紹的非常詳細,對大家的學習或工作具有一定的參考借鑒價值,需要的朋友可以參考下2020-08-08mybatis于xml方式和注解方式實現(xiàn)多表查詢的操作方法
在數據庫中,單表的操作是最簡單的,但是在實際業(yè)務中最少也有十幾張表,并且表與表之間常常相互間聯(lián)系,本文給大家介紹mybatis于xml方式和注解方式實現(xiàn)多表查詢的操作方法,感興趣的朋友一起看看吧2023-12-12spring-boot通過@Scheduled配置定時任務及定時任務@Scheduled注解的方法
這篇文章主要介紹了spring-boot通過@Scheduled配置定時任務,文中還給大家介紹了springboot 定時任務@Scheduled注解的方法,需要的朋友可以參考下2017-11-11