深入Java萬(wàn)物之母Object類詳情
前言
在Java中,有一個(gè)很神奇的類,所有的類見(jiàn)了它都得恭敬的叫一聲“父親”,因?yàn)樗褪荍ava中的萬(wàn)物之父,Object類,它是所有類的默認(rèn)父類 ,子類不用使用extends關(guān)鍵字繼承它,不管是JDK中的類,還是自定義的類
一、接口補(bǔ)充知識(shí)
1.接口和接口之間繼承的,接口堅(jiān)決不能繼承一個(gè)類

2.如果一個(gè)類既需要繼承一個(gè)類,又需要實(shí)現(xiàn)多個(gè)接口時(shí)先使用extends繼承一個(gè)類,再使用implement實(shí)現(xiàn)多個(gè)接口

3.關(guān)于接口的命名規(guī)范:為了區(qū)分接口和類,命名接口使用 I 開頭,IRun,ISwim,子類實(shí)現(xiàn)一個(gè)接口時(shí),命名以相應(yīng)的接口開頭,以impl結(jié)尾
eg:如果是IRun的子類,RunImpl
如果子類實(shí)現(xiàn)多個(gè)父接口,不需要使用此規(guī)范來(lái)命名
二、Object類
在Java中Object類是萬(wàn)物之母
全名稱:包名.類名
java.lang.Object
1.重點(diǎn)一
Object類是Java中所有類的默認(rèn)父類,無(wú)需使用extends來(lái)定義,class聲明的類都有一個(gè)共同的父類,Object類
因?yàn)镺bject類是所有類的父類,使用Object引用來(lái)接收所有的類型,所有類都可以向上轉(zhuǎn)型轉(zhuǎn)為Object,參數(shù)最高統(tǒng)一化
Object obj1 = new Dog();
Object obj2 = new Person();
Objcet obj3 = new String();
這些都是可以的,都可以向上轉(zhuǎn)型為Object類型
如果有一個(gè)方法fun(Object obj),那么obj就可以接收所有類型的對(duì)象

2.重點(diǎn)二
Object類中的所有方法子類全都繼承下來(lái)了
我們的打印方法System.out.println(任意的數(shù)據(jù)類型) – > 默認(rèn)調(diào)用了該數(shù)據(jù)類型的toString()方法,因?yàn)镺bject類中存在toString();
此時(shí)子類沒(méi)有覆寫toString(),調(diào)用的就是Object的toString();

我們一直說(shuō)“覆寫”一下toString();而不說(shuō)寫一個(gè)toString方法,就是因?yàn)镺bject類中有toString方法,子類覆寫后就調(diào)用子類覆寫之后的

3.重點(diǎn)三
Java中引用數(shù)據(jù)類型之間的相等使用equals方法,不能使用“ == ”, 比較的是地址

沒(méi)覆寫之前調(diào)用的父類的equals方法還是比較的地址:


4.重點(diǎn)四
Object不僅是所有類(class)的父類,JDK對(duì)Object類做了擴(kuò)展,Object類可以接收所有引用數(shù)據(jù)類型的對(duì)象(接口,數(shù)組,類)

接口對(duì)象,數(shù)組對(duì)象,這些看起來(lái)毫不相關(guān)的對(duì)象,都可以使用object來(lái)接收,因此在Java中,若一個(gè)方法參數(shù)或者返回值是Object類型,說(shuō)明該參數(shù)或者返回值可以接收任意引用數(shù)據(jù)類型(數(shù)組,類,接口)
除了8大基本類型沒(méi)法使用Object類接收以外,所有的類型都能使用Object來(lái)接受,為了讓Object可以接收所有的類,此時(shí)包裝類就應(yīng)運(yùn)而生了,把8大基本類型變?yōu)轭悺?/p>
總結(jié)
本篇博客只是先帶大家了解Java中這個(gè)特殊的類,Object是Java中所有類的父類,它可以接收所有的引用數(shù)據(jù)類型的對(duì)象

到此這篇關(guān)于Java萬(wàn)物之母Object類詳情的文章就介紹到這了,更多相關(guān)Java Object類內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
Jedis操作Redis數(shù)據(jù)庫(kù)的方法
這篇文章主要為大家詳細(xì)介紹了Jedis操作Redis數(shù)據(jù)庫(kù)的方法,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2018-04-04
Java中try-catch的使用及注意細(xì)節(jié)
現(xiàn)在有很多的語(yǔ)言都支持try-catch,比如常見(jiàn)的就是c++,java等,這篇文章主要給大家介紹了關(guān)于Java中try-catch的使用及注意細(xì)節(jié)的相關(guān)資料,文中通過(guò)圖文以及實(shí)例代碼介紹的非常詳細(xì),需要的朋友可以參考下2023-06-06
解決IDEA 2020.1版本 maven Test命令出現(xiàn)導(dǎo)包錯(cuò)誤的問(wèn)題
這篇文章主要介紹了IDEA 2020.1版本 maven Test命令出現(xiàn)導(dǎo)包錯(cuò)誤的問(wèn)題及解決方法,本文通過(guò)圖文并茂的形式給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2020-08-08
mybatis于xml方式和注解方式實(shí)現(xiàn)多表查詢的操作方法
在數(shù)據(jù)庫(kù)中,單表的操作是最簡(jiǎn)單的,但是在實(shí)際業(yè)務(wù)中最少也有十幾張表,并且表與表之間常常相互間聯(lián)系,本文給大家介紹mybatis于xml方式和注解方式實(shí)現(xiàn)多表查詢的操作方法,感興趣的朋友一起看看吧2023-12-12
spring-boot通過(guò)@Scheduled配置定時(shí)任務(wù)及定時(shí)任務(wù)@Scheduled注解的方法
這篇文章主要介紹了spring-boot通過(guò)@Scheduled配置定時(shí)任務(wù),文中還給大家介紹了springboot 定時(shí)任務(wù)@Scheduled注解的方法,需要的朋友可以參考下2017-11-11

