"Hej igen. Idag ska vi kort lära oss om finalize ()-metoden. Java Virtual Machine anropar finalize ()-metoden innan ett objekt förstörs. Metoden används för att deallokera systemresurser eller utföra andra rensningsuppgifter. Faktum är att detta metod är raka motsatsen till en konstruktor i Java. Du kommer ihåg att konstruktörer används för att skapa objekt."

"Klassen Object har en finalize ()-metod, vilket innebär att alla andra klasser också gör det ( eftersom alla Java-klasser härrör från Object-klassen). Du kan helt enkelt implementera din egen finalize ()-metod i din klass."

"Här är ett exempel:"

Exempel:
class Cat
{
    String name;

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

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

"Det är vettigt, Ellie."

"Men du bör vara medveten om att Java Virtual Machine bestämmer om den här metoden ska anropas . Oftare än inte förstörs objekt som skapats i en metod och deklareras som skräp när metoden är klar omedelbart utan något anrop till slutförande (). Denna metod är mer som backup än en tillförlitlig lösning. Det bästa alternativet är att frigöra alla systemresurser (genom att sätta referenser till andra objekt till null) medan objektet fortfarande är vid liv. Jag ska berätta mer om denna metods fördelar och nyanser senare. Vid det här laget , du behöver bara förstå två saker: det finns en sådan metod, och ( överraskning! ) heter den inte alltid."