日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程语言 > java >内容正文

java

java 父类 超类_Java超类-java.lang.object

發(fā)布時間:2023/12/15 java 30 豆豆
生活随笔 收集整理的這篇文章主要介紹了 java 父类 超类_Java超类-java.lang.object 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.

Java是面向?qū)ο蟮?#xff0c;Object是所有對象的超類(不是繼承,也不是實現(xiàn)接口)

Object類是所有Java類的祖先。每個類都使用 Object 作為超類。所有對象(包括數(shù)組)都實現(xiàn)這個類的方法。

如果你

什么是Object類

編輯

Object類是所有Java類的祖先。每個類都使用 Object 作為超類。所有對象(包括數(shù)組)都實現(xiàn)這個類的方法。

在不明確給出超類的情況下,Java會自動把Object作為要定義類的超類。

可以使用類型為Object的變量指向任意類型的對象。

Object類有一個默認構(gòu)造方法pubilc Object(),在構(gòu)造子類實例時,都會先調(diào)用這個默認構(gòu)造方法。

Object類的變量只能用作各種值的通用持有者。要對他們進行任何專門的操作,都需要知道它們的原始類型并進行類型轉(zhuǎn)換。例如:

Object obj = new MyObject();

MyObject x = (MyObject)obj;

方法預覽

編輯

Object()

默認構(gòu)造方法

clone()

創(chuàng)建并返回此對象的一個副本。

equals(Object obj)

指示某個其他對象是否與此對象“相等”。

finalize()

當垃圾回收器確定不存在對該對象的更多引用時,由對象的垃圾回收器調(diào)用此方法。

getClass()

返回一個對象的運行時類。

hashCode()

返回該對象的哈希碼值。

notify()

喚醒在此對象監(jiān)視器上等待的單個線程。

notifyAll()

喚醒在此對象監(jiān)視器上等待的所有線程。

toString()

返回該對象的字符串表示。

wait()

導致當前的線程等待,直到其他線程調(diào)用此對象的 notify() 方法或 notifyAll() 方法。

wait(long timeout)

導致當前的線程等待,直到其他線程調(diào)用此對象的 notify() 方法或 notifyAll() 方法,或者超過指定的時間量。

wait(long timeout, int nanos)

導致當前的線程等待,直到其他線程調(diào)用此對象的 notify() 方法或 notifyAll() 方法,或者其他某個線程中斷當前線程,或者已超過某個實際時間量。

方法使用說明

編輯

1、equals()方法:用于測試某個對象是否同另一個對象相等。它在Object類中的實現(xiàn)是判斷兩個對象的值是否相等。這種測試用處不大,因為即使內(nèi)容相同的對象,內(nèi)存區(qū)域也是不同的。如果想測試對象是否相等,就需要覆蓋此方法,進行更有意義的比較。例如

class Employee{

... //此例子來自《java核心技術(shù)》卷一

public boolean equals(Object otherObj){

//快速測試是否是同一個對象

if(this == otherObj) return true;

//如果顯式參數(shù)為null,必須返回false

if(otherObj == null) return false;

//如果類不匹配,就不可能相等

if(getClass() != otherObj.getClass()) return false;

//現(xiàn)在已經(jīng)知道otherObj是個非空的Employee對象

Employee other = (Employee)otherObj;

//測試所有的字段是否相等

return name.equals(otherName)

&& salary == other.salary

&& hireDay.equals(other.hireDay);

}

}

補充

編輯

Java語言規(guī)范要求equals方法具有下面的特點:

自反性:對于任何非空引用值 x,x.equals(x) 都應返回 true。

對稱性:對于任何非空引用值 x 和 y,當且僅當 y.equals(x) 返回 true 時,x.equals(y) 才應返回 true。

傳遞性:對于任何非空引用值 x、y 和 z,如果 x.equals(y) 返回 true,并且 y.equals(z) 返回 true,那么 x.equals(z) 應返回 true。

一致性:對于任何非空引用值 x 和 y,多次調(diào)用 x.equals(y) 始終返回 true 或始終返回 false,前提是對象上 equals 比較中所用的信息沒有被修改。

對于任何非空引用值 x,x.equals(null) 都應返回 false。

從這里看出,上面的例子是Java規(guī)范的equals方法的標準實現(xiàn),推薦用上面例子的寫法實現(xiàn)類的equals方法。

總結(jié)

以上是生活随笔為你收集整理的java 父类 超类_Java超类-java.lang.object的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯,歡迎將生活随笔推薦給好友。