Java中的Object類詳細(xì)介紹
理論上Object類是所有類的父類,即直接或間接的繼承java.lang.Object類。由于所有的類都繼承在Object類,因此省略了extends Object關(guān)鍵字。
該類中主要有以下方法: toString(),getClass(),equals(),clone(),finalize(), 其中toString(),getClass(),equals是其中最重要的方法。
注意:
Object類中的getClass(),notify(),notifyAll(),wait()等方法被定義為final類型,因此不能重寫。
getClass()方法;
不可重寫,要調(diào)用的話,一般和getName()聯(lián)合使用,如getClass().getName();
toString()方法;
可重寫;如果在實(shí)際使用中為特定對(duì)象提供一個(gè)特定的輸出模式,當(dāng)這個(gè)類型轉(zhuǎn)換為字符串或字符串連接時(shí),建自動(dòng)調(diào)用重寫的toString()方法。
public ObjectInstance{ public String toString(){ return "在"+getClass().getName()+"重寫toString()方法" } public static void main(String arg[]){ System.out.println(new ObjectInstance()); } }
equals()方法;
class V { } public class OverWriteEquals{ public static void main(String args[]){ String s1="123"; String s2="123"; System.out.println(s1.equals(s2)); V v1= new V(); V v2= new V(); System.out.println(v1.equals(v2)); } }
輸出結(jié)果:
run: true false BUILD SUCCESSFUL (total time: 0 seconds)
從本例可以看出,在自定義的類中使用equals()方法進(jìn)行比較時(shí),將返回false,因?yàn)閑quals方法的默認(rèn)實(shí)現(xiàn)是"=="運(yùn)算符,即比較兩個(gè)對(duì)象的引用地址,而不是比較對(duì)象的內(nèi)容。所以要想真正比較兩個(gè)對(duì)象中的內(nèi)容,需要在自定義類中重寫equals()方法。
相關(guān)文章
Java字符串操作技巧之語(yǔ)法、示例與應(yīng)用場(chǎng)景分析
在Java算法題和日常開(kāi)發(fā)中,字符串處理是必備的核心技能,本文全面梳理Java中字符串的常用操作語(yǔ)法,結(jié)合代碼示例、應(yīng)用場(chǎng)景和避坑指南,可快速掌握字符串處理技巧,輕松應(yīng)對(duì)筆試面試高頻題目,感興趣的朋友一起看看吧2025-04-04JAVASE系統(tǒng)實(shí)現(xiàn)抽卡功能
這篇文章主要為大家詳細(xì)介紹了JAVASE系統(tǒng)實(shí)現(xiàn)抽卡功能,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2020-11-11Java精確抽取網(wǎng)頁(yè)發(fā)布時(shí)間
這篇文章主要為大家詳細(xì)介紹了Java精確抽取網(wǎng)頁(yè)發(fā)布時(shí)間的相關(guān)資料,盡量做到精確無(wú)誤,感興趣的小伙伴們可以參考一下2016-06-06如何獲取springboot打成jar后的classpath
這篇文章主要介紹了如何獲取springboot打成jar后的classpath問(wèn)題,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2023-07-07Java?數(shù)據(jù)結(jié)構(gòu)深入理解ArrayList與順序表
ArrayList?類是一個(gè)可以動(dòng)態(tài)修改的數(shù)組,與普通數(shù)組的區(qū)別就是它是沒(méi)有固定大小的限制,我們可以添加或刪除元素。ArrayList?繼承了?AbstractList?,并實(shí)現(xiàn)了?List?接口,順序表是將元素順序地存放在一塊連續(xù)的存儲(chǔ)區(qū)里,元素間的順序關(guān)系由它們的存儲(chǔ)順序自然表示2022-04-04Java中實(shí)現(xiàn)兩個(gè)線程交替運(yùn)行的方法
這篇文章主要介紹了Java中實(shí)現(xiàn)兩個(gè)線程交替運(yùn)行的方法,本文將給大家分享操作流程,通過(guò)實(shí)例代碼給大家介紹的非常詳細(xì),需要的朋友可以參考下2021-12-12