Object類方法簡介二

2022-05-16 20:23:09 字數 1672 閱讀 1089

在學了object類前面的三個常用方法後,又遇到它的另外三個方法——

clone()

、finalize()

、getclass()

,這三個方法不經常使用,但因為在學習過程遇到了,就簡單的對它們的使用做乙個總結。

1.物件轉殖——clone()

方法

protected object clone() throws clonenotsupportedexception;

使用該方法可以轉殖乙個物件,即建立乙個物件的副本。要使類的物件能夠轉殖,該類必須實現cloneable介面。這個介面裡面沒有定義任何方法,屬於標識介面,即給類乙個特殊標籤。

1

public

class student implements

cloneable210

@override

11public

boolean

equals(object o)

1215

@override

16public

string tostring()

1720

public

static

void main(string args) throws

clonenotsupportedexception

2133 }

這個例子使用了object類的五種方法,其中clone()方法宣告丟擲

clonenotsupportedexception

異常,程式在

main()

方法的宣告中丟擲了該異常。

2.getclass()方法

public final native class<?> getclass();

該方法,它會返回乙個你的物件所對應的乙個class的物件,這個返回來的物件儲存著你的原物件的類資訊,比如你的原物件的類名叫什麼,類裡有什麼方法,欄位等,和反射相關。

date date = new

date();

class

<?>cls = date.getclass();

//得到類的包名

3.物件終結——finalize()

方法

protected void finalize() throws throwable;

在物件被銷毀之前,垃圾**站允許物件呼叫該方法進行清理工作,清除在物件外被分配的資源。

1

public

class student implements

cloneable28

public

static

void

main(string args)

916 }

輸出結果:

the object is destroyed

the object is destroyed

gc在**物件之前自動呼叫finalize()方法,而且需要顯示地呼叫垃圾**方法(system.gc()),並且需要有new出來的尚未被銷毀的匿名物件的存在,finalize()方法才一定會被呼叫。在某些情況下,finalize ()方法可能不會執行完成或可能根本不執行,jvm不保證此方法總被呼叫。

Object類及其常用方法簡介

object類是乙個特殊的類,是所有類的父類,如果乙個類沒有用extends明確指出繼承於某個類,它預設繼承object類。這裡主要總結object類中的三個常用方法 tostring equals hashcode 1.取得物件資訊的方法 tostring 該方法在列印物件時被呼叫,將物件資訊變為...

Object類及其常用方法簡介

object 類是乙個特殊的類,是所有類的父類,如果乙個類沒有用 extends 明確指出繼承於某個類,那麼它預設繼承 object 類。這裡主要總結 object 類中的三個常用方法 tostring equals hashcode 1.取得物件資訊的方法 tostring 該方法在列印物件時被呼...

Object類的方法

package day11 類 object 是類層次結構的根類。每個類都使用 object作為超類。所有物件 包括陣列 都實現這個類的方法。每個類都簡介或直接繼承自object類。object 類的方法 public int hashcode 返回該物件的雜湊碼值。雜湊值使根據雜湊演算法計算出來得...