CodeGym /課程 /Java 語法 /用 finalize 完成

用 finalize 完成

Java 語法
等級 6, 課堂 3
開放

又是你好,今天我們就來簡單的了解下finalize ()方法,Java虛擬機在銷毀一個對象之前會調用finalize ()方法,該方法用於釋放系統資源或執行其他清理任務。其實這個方法與 Java 中的構造函數完全相反。您會記得構造函數用於創建對象。”

“Object 類有一個finalize () 方法,這意味著每個其他類也有(因為所有 Java 類都派生自 Object 類)。您可以簡單地在您的類中實現自己的finalize () 方法。”

“這是一個例子:”

例子:
class Cat
{
    String name;

    Cat(String name)
    {
        this.name = name;
    }

    protected void finalize() throws Throwable
    {
        System.out.println(name + " has been destroyed");
    }
}

“這是有道理的,艾莉。”

“但是你應該知道,Java 虛擬機決定是否調用這個方法。通常情況下,在方法內部創建並在方法完成時聲明為垃圾的對象會立即​​銷毀,而不會調用任何finalize ()。這個方法更像備份而不是可靠的解決方案。最好的選擇是在對象仍然存在時釋放所有系統資源(通過將對其他對象的引用設置為 null)。稍後我將詳細介紹此方法的優點和細微差別。此時,你只需要了解兩件事:有這樣一個方法,而且(驚喜!)它並不總是被調用。”

2
任務
Java 語法, 等級 6, 課堂 3
上鎖
Code entry
Sometimes you don't need to think, you just need to hammer it out! As paradoxical as it may seem, sometimes your fingers will "remember" better than your conscious mind. That's why while training at the secret CodeGym center you will sometimes encounter tasks that require you to enter code. By entering code, you get used to the syntax and earn a little dark matter. What's more, you combat laziness.
留言
TO VIEW ALL COMMENTS OR TO MAKE A COMMENT,
GO TO FULL VERSION