更新時(shí)間:2020-08-19 16:38:40 來(lái)源:動(dòng)力節(jié)點(diǎn) 瀏覽3323次
Object類(lèi)
Object類(lèi)是所有類(lèi)的父類(lèi),如果一個(gè)類(lèi)沒(méi)有使用extends關(guān)鍵字明確標(biāo)識(shí)繼承另外一個(gè)類(lèi),那么這個(gè)類(lèi)默認(rèn)繼承Object類(lèi)。
Object類(lèi)中的方法,適合所有子類(lèi)
1. toString()方法
在Objectl類(lèi)里面定義toString()方法的時(shí)候返回的對(duì)象的哈希code碼(對(duì)象地址在字符串)
可以通過(guò)重寫(xiě)toString()方法表示出對(duì)象的屬性
public?class?Cat?extends?Animal?{
???public?String?name="小貓";//子類(lèi)屬性
????//使用toString方法進(jìn)行輸出對(duì)象屬性
????@Override
????public?String?toString()?{
????????return?"Animal[name="+name+"]";
????}
}
public?class?Initail?{
????public?static?void?main(String[]?args)?{
????????//創(chuàng)建子類(lèi)對(duì)象
????????Cat?cat=new?Cat();
????????//調(diào)用子類(lèi)方法
????????System.out.println(cat);
????}
}
2. equals()方法
比較的是對(duì)象的引用是否指向同一塊內(nèi)存di地址
public?class?Initail?{
????public?static?void?main(String[]?args)?{
????????//創(chuàng)建子類(lèi)對(duì)象1
????????Cat?cat=new?Cat();
????????//創(chuàng)建子類(lèi)對(duì)象2
????????Cat?cat2=new?Cat();
????????if(cat.equals(cat2)){
????????????System.out.println("不相同");
????????}else?{
????????????System.out.println("相同");
????????}
????}
}
在進(jìn)行引用類(lèi)型進(jìn)行判斷時(shí),使用==和equals()一樣,比較的也是內(nèi)存地址,雙等在進(jìn)行基本類(lèi)型的判斷時(shí),判斷的是基本類(lèi)型的值是否相等。
但我們想要的是進(jìn)行比較對(duì)象的值是否一樣,那么該怎么做?
父類(lèi)方法不滿(mǎn)足子類(lèi)使用就對(duì)其進(jìn)行重寫(xiě)。
@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è)類(lèi)對(duì)象
????????????//判斷類(lèi)的類(lèi)型是否相同
????????????return?false;
????????Cat?other=(Cat)?obj;
????????if?(name!=other.name)
????????????//最后在進(jìn)行判斷類(lèi)的值是否相同
????????????return?false;
????????return?true;
????}
什么是類(lèi)對(duì)象
我們new一個(gè)類(lèi)得到的是類(lèi)的對(duì)象,對(duì)象調(diào)用getClass()我們得到是類(lèi)對(duì)象,類(lèi)對(duì)象描述的是類(lèi)的代碼信息,就是這個(gè)類(lèi)有哪些屬性,屬性的類(lèi)型,變量名是什么,有哪些方法,方法名是什么。類(lèi)的對(duì)象是對(duì)象的數(shù)據(jù)信息,屬性值的信息。我們通常可以通過(guò)類(lèi)對(duì)象判斷類(lèi)的類(lèi)型。
以上就是動(dòng)力節(jié)點(diǎn)java培訓(xùn)機(jī)構(gòu)的小編針對(duì)“Java object類(lèi)的常用子類(lèi)”的內(nèi)容進(jìn)行的回答,希望對(duì)大家有所幫助,如有疑問(wèn),請(qǐng)?jiān)诰€(xiàn)咨詢(xún),有專(zhuā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ì)電話(huà)與您溝通安排學(xué)習(xí)
初級(jí) 202925
初級(jí) 203221
初級(jí) 202629
初級(jí) 203743