Object類的使用
Object類
Object類中的方法可以在網上搜索得到
-
Object類是所有java類的父類
-
如果類在宣告中未使用extends關鍵字指明其父類,則默認父類為java.lang.Object類
-
Object類中的功能(屬性、方法)具有通用性,
屬性:無
方法:equals() / toString() / getClass() / hashCode() /clone() / finalize() / wait() / notify() / notifyAll()
-
Object只有一個空參構造器
==和equals()的區別
1、 ==的使用:
-
可以使用在基本資料型別變數和參考資料型別變數中
-
如果比較的是基本資料型別的變數,比較的是兩個變數保存的資料是否相等(不一定要型別相同)
如果比較的是參考資料型別變數,比較的是兩個變數的地址值是否相同,即兩個參考是否指向同一個物件物體,
2、equals()的使用:
-
是一個方法,而非運算子
-
只能應用于參考資料型別
-
Object類中equals()定義:
pubulic boolean equals(Object obj){
? return (this == obj)
}
//說明:Object類中定義的equals()和==作用是相同的,即兩個參考是否指向同一個地址
-
像String、Date、File、包裝類都重寫了equals()方法,即比較的是兩個物件的"物體內容"是否相同
-
通常情況下,我們自定義的類如果呼叫equals()方法,通常是比較物件的"物體內容"是否相同,因此需要對Object類的equals()方法進行重寫,【一些編譯器可以自動生成重寫的代碼】
Customer cust1 = new Customer("TOM",21);
Customer cust2 = new Customer("TOM",21);
String str1 = new String("aaa");
String str2 = new String("aaa");
System.out.println(cust1.equals(cust2));//flase
System.out.println(str1.equals(str2));//true
基本資料型別變數
- 在記憶體種存盤的是一個基本型別值,
- 可以在堆疊中直接分配記憶體
- 例如 int a=1; 變數a的值就是int值1;
參考資料型別變數
- 對應記憶體所存盤的值是一個參考,是物件的存盤地址,
- 物件的參考在堆疊中,物件實際存放在堆中,
- 例如 Circle circle = new Circle(9)【引數表示半徑】; 變數circle 的值保存的是一個參考,它指明這個Circle物件的內容存盤在記憶體的什么位置,
toString()方法
- 當我們輸出一個物件的參考時就是呼叫當前物件的toString()
- Object類中toString()定義
public String toString() {
return getClass().getName() + "@" + Integer.toHexString(hashCode());
}
- 像String、Date、File、包裝類都重寫了toString()方法,使得呼叫toSting()方法時,回傳"物體內容"資訊
- 自定義類也可以重寫toString()方法,當呼叫此方法時,回傳物件的"物體內容"【一些編譯器可以自動生成重寫的代碼】
轉載請註明出處,本文鏈接:https://www.uj5u.com/houduan/548197.html
標籤:其他
