Java object類的常用子類

Java object類的常用子類

北大青鳥長沙麓谷校區(qū)      2022-05-05 08:56:01     84

Java object類的常用子類,Object類Object類是所有類的父類,如果一個(gè)類沒有使用extends關(guān)鍵字明確標(biāo)識(shí)繼承另外一個(gè)類,那么這個(gè)類默認(rèn)繼承Object類。Objec

課程價(jià)格 請咨詢

上課時(shí)段: 授課校區(qū):

詳細(xì)介紹

Object類

Object類是所有類的父類,如果一個(gè)類沒有使用extends關(guān)鍵字明確標(biāo)識(shí)繼承另外一個(gè)類,那么這個(gè)類默認(rèn)繼承Object類。

Object類中的方法,適合所有子類

1. toString()方法

在Objectl類里面定義toString()方法的時(shí)候返回的對象的哈希code碼(對象地址在字符串)

可以通過重寫toString()方法表示出對象的屬性

public?class?Cat?extends?Animal?{???public?String?name="小貓";//子類屬性????//使用toString方法進(jìn)行輸出對象屬性????@Override????public?String?toString()?{????????return?"Animal[name="+name+"]";????}}
public?class?Initail?{????public?static?void?main(String[]?args)?{????????//創(chuàng)建子類對象????????Cat?cat=new?Cat();????????//調(diào)用子類方法????????System.out.println(cat);????}}

2. equals()方法

比較的是對象的引用是否指向同一塊內(nèi)存di地址

public?class?Initail?{????public?static?void?main(String[]?args)?{????????//創(chuàng)建子類對象1????????Cat?cat=new?Cat();????????//創(chuàng)建子類對象2????????Cat?cat2=new?Cat();????????if(cat.equals(cat2)){????????????System.out.println("不相同");????????}else?{????????????System.out.println("相同");????????}????}}

在進(jìn)行引用類型進(jìn)行判斷時(shí),使用==和equals()一樣,比較的也是內(nèi)存地址,雙等在進(jìn)行基本類型的判斷時(shí),判斷的是基本類型的值是否相等。

但我們想要的是進(jìn)行比較對象的值是否一樣,那么該怎么做?

父類方法不滿足子類使用就對其進(jìn)行重寫。

@Override????public?boolean?equals(Object?obj)?{????????if?(this==obj)//比較兩個(gè)引用的地址是否相同,????????????//?如果兩個(gè)地址相同則說明指向了一個(gè)對象,兩個(gè)對象肯定相等????????????return?true;????????if(obj==null)//如果為空值就不再進(jìn)行比較????????????return?false;????????if(getClass()!=obj.getClass())//getClass()可以得到一個(gè)類對象????????????//判斷類的類型是否相同????????????return?false;????????Cat?other=(Cat)?obj;????????if?(name!=other.name)????????????//最后在進(jìn)行判斷類的值是否相同????????????return?false;????????return?true;????}

什么是類對象

我們new一個(gè)類得到的是類的對象,對象調(diào)用getClass()我們得到是類對象,類對象描述的是類的代碼信息,就是這個(gè)類有哪些屬性,屬性的類型,變量名是什么,有哪些方法,方法名是什么。類的對象是對象的數(shù)據(jù)信息,屬性值的信息。我們通??梢酝ㄟ^類對象判斷類的類型。

以上就是北大青鳥長沙麓谷校區(qū)java培訓(xùn)機(jī)構(gòu)的小編針對“Java object類的常用子類”的內(nèi)容進(jìn)行的回答,希望對大家有所幫助,如有疑問,請?jiān)诰€咨詢,有專業(yè)老師隨時(shí)為你服務(wù)。

培訓(xùn)啦提醒您:交易時(shí)請核實(shí)對方資質(zhì),對于過大宣傳或承諾需謹(jǐn)慎!任何要求預(yù)付定金、匯款等方式均存在風(fēng)險(xiǎn),謹(jǐn)防上當(dāng)。