更新時(shí)間:2020-08-19 16:38:40 來(lái)源:動(dòng)力節(jié)點(diǎn) 瀏覽3363次
Object類
Object類是所有類的父類,如果一個(gè)類沒(méi)有使用extends關(guān)鍵字明確標(biāo)識(shí)繼承另外一個(gè)類,那么這個(gè)類默認(rèn)繼承Object類。
Object類中的方法,適合所有子類
1. toString()方法
在Objectl類里面定義toString()方法的時(shí)候返回的對(duì)象的哈希code碼(對(duì)象地址在字符串)
可以通過(guò)重寫toString()方法表示出對(duì)象的屬性
public?class?Cat?extends?Animal?{
???public?String?name="小貓";//子類屬性
????//使用toString方法進(jìn)行輸出對(duì)象屬性
????@Override
????public?String?toString()?{
????????return?"Animal[name="+name+"]";
????}
}
public?class?Initail?{
????public?static?void?main(String[]?args)?{
????????//創(chuàng)建子類對(duì)象
????????Cat?cat=new?Cat();
????????//調(diào)用子類方法
????????System.out.println(cat);
????}
}
2. equals()方法
比較的是對(duì)象的引用是否指向同一塊內(nèi)存di地址
public?class?Initail?{
????public?static?void?main(String[]?args)?{
????????//創(chuàng)建子類對(duì)象1
????????Cat?cat=new?Cat();
????????//創(chuàng)建子類對(duì)象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)行比較對(duì)象的值是否一樣,那么該怎么做?
父類方法不滿足子類使用就對(duì)其進(jìn)行重寫。
@Override
????public?boolean?equals(Object?obj)?{
????????if?(this==obj)//比較兩個(gè)引用的地址是否相同,
????????????//?如果兩個(gè)地址相同則說(shuō)明指向了一個(gè)對(duì)象,兩個(gè)對(duì)象肯定相等
????????????return?true;
????????if(obj==null)//如果為空值就不再進(jìn)行比較
????????????return?false;
????????if(getClass()!=obj.getClass())//getClass()可以得到一個(gè)類對(duì)象
????????????//判斷類的類型是否相同
????????????return?false;
????????Cat?other=(Cat)?obj;
????????if?(name!=other.name)
????????????//最后在進(jìn)行判斷類的值是否相同
????????????return?false;
????????return?true;
????}
什么是類對(duì)象
我們new一個(gè)類得到的是類的對(duì)象,對(duì)象調(diào)用getClass()我們得到是類對(duì)象,類對(duì)象描述的是類的代碼信息,就是這個(gè)類有哪些屬性,屬性的類型,變量名是什么,有哪些方法,方法名是什么。類的對(duì)象是對(duì)象的數(shù)據(jù)信息,屬性值的信息。我們通常可以通過(guò)類對(duì)象判斷類的類型。
以上就是動(dòng)力節(jié)點(diǎn)java培訓(xùn)機(jī)構(gòu)的小編針對(duì)“Java object類的常用子類”的內(nèi)容進(jìn)行的回答,希望對(duì)大家有所幫助,如有疑問(wèn),請(qǐng)?jiān)诰€咨詢,有專業(yè)老師隨時(shí)為你服務(wù)。
相關(guān)閱讀
0基礎(chǔ) 0學(xué)費(fèi) 15天面授
有基礎(chǔ) 直達(dá)就業(yè)
業(yè)余時(shí)間 高薪轉(zhuǎn)行
工作1~3年,加薪神器
工作3~5年,晉升架構(gòu)
提交申請(qǐng)后,顧問(wèn)老師會(huì)電話與您溝通安排學(xué)習(xí)