Object類常用方法

2022-06-20 18:42:10 字數 2313 閱讀 7643

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 student 

public 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...