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