object類
超類、基類,所有類的直接或間接父類,位於繼承樹的最頂層
任何類,如沒有書寫extends顯示繼承某個類,都預設直接繼承0bject類,否則為間接繼承
0bject類中所定義的方法,是所有物件都具備的方法
0bject型別可以儲存任何物件
作為引數,可接受任何物件
作為返回值,可返回任何物件
getclass()方法
public final class<?> getclass(){}
返回引用中儲存的實際物件型別
應用:通常用於判斷兩個引用中實際儲存物件型別是否一致
hashcode()方法
public int hashcode(){}
返回該物件的雜湊碼值
雜湊值根據物件的位址或字串或數字使用hash演算法計算出來的int型別的數值
一般情況下相同物件返回相同雜湊碼
tostring()方法
public string tostring(){}
返回該物件的字串表示(表現形式)
可以根據程式需求覆蓋該方法,如:展示物件各個屬性值
equals()方法
public boolean equals(0bject obj){}
預設實現為(this==obj),比較兩個物件位址是否相同
可進行覆蓋,比較兩個物件的內容是否相同
equals()方法覆蓋步驟
比較兩個引用是否指向同乙個物件
判斷obj是否為null
判斷兩個引用指向的實際物件型別是否一致
強制型別轉換
依次比較各個屬性值是否相同
finalize()方法
當物件被判定為垃圾物件時,由jvm自動呼叫此方法,用以標記垃圾物件,進入**佇列
垃圾物件:沒有有效引用指向此物件時,為垃圾物件
垃圾**:由gc銷毀垃圾物件,釋放資料儲存空間
自動**機制:jvm的記憶體耗盡,一次性**所有垃圾物件
手動**機制:使用system.gc(); 通知jvm執行垃圾**
eg :
public class studentpublic student(string name, int age)
public string getname()
public void setname(string name)
public int getage()
public void setage(int age)
@override
public string tostring() ';
}@override
public boolean equals(object obj)
//2.判斷obj是否null
if (obj == null)
//3.判斷是否是同乙個型別
//if(this.getclass()== obj.getclass ())
//instanceof 判斷物件是否是某種型別
if (obj instanceof student)
}return false;
}@override
protected void finalize() throws throwable
}
public class teststudent else方法system.out.println (s1.hashcode ());
system.out.println (s2.hashcode ());
student s3 = s1;
system.out.println (s3.hashcode());
方法system.out.println (s1.tostring());
system.out.println (s2.tostring());
方法:判斷兩個物件是否相等
system.out.println (s1.equals(s2));
student s4 = new student ("小明",17);
student s5 = new student ("小明",17);
system.out.println (s4.equals(s5));
}}
public class teststudent2}
Object類的常用方法
1.public boolean equals obj 用於比較對於某個其他物件obj與當前物件是否相等。只有被比較的兩個參考型別的變數指向同乙個物件時,返回true,否則返回false。2.public final void notify 喚醒在此物件監視器上等待的單個執行緒。3.public f...
Object類的常用方法
今天再看面試實錄有問到object類的常用方法,自己竟然一時有些答不出來,所以記錄下來,給自己和大家一些提醒和回顧。1.hashcode 2.equals 3.wait 4.notify 5.notifyall 6.tostring 7.getclass 8.clone 9.finalize 該方法...
常用類 Object類
object類概述 類層次結構的根類 所有類都直接或者間接的繼承自該類 構造方法 public object 回想物件導向中為什麼說 子類的構造方法預設訪問的是父類的無參構造方法 public int hashcode public final class getclass public strin...