„Salut din nou. Astăzi vom afla pe scurt despre metoda finalize (). Mașina virtuală Java apelează metoda finalize () înainte de a distruge un obiect. Metoda este folosită pentru a dezaloca resursele sistemului sau pentru a efectua alte sarcini de curățare. De fapt, aceasta metoda este exact opusul unui constructor în Java. Vă veți aminti că constructorii sunt folosiți pentru a crea obiecte."

„Clasa Object are o metodă finalize (), ceea ce înseamnă că o are și orice altă clasă ( deoarece toate clasele Java derivă din clasa Object ). Puteți implementa pur și simplu propria metodă finalize () în clasa dumneavoastră.”

„Iată un exemplu:”

Exemplu:
class Cat
{
    String name;

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

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

— Asta are sens, Ellie.

„Dar ar trebui să fiți conștienți de faptul că Mașina Virtuală Java decide dacă apelează această metodă . De cele mai multe ori, obiectele create în interiorul unei metode și declarate gunoi atunci când metoda se termină sunt distruse imediat, fără nici un apel pentru finalizare (). Această metodă este mai mult ca backup decât o soluție de încredere.Cea mai bună opțiune este să eliberați toate resursele de sistem (prin setarea referințelor la alte obiecte la nul) în timp ce obiectul este încă în viață. Vă voi spune mai multe despre avantajele și nuanțele acestei metode mai târziu. În acest moment , trebuie să înțelegi doar două lucruri: există o astfel de metodă și ( surpriză! ) nu este întotdeauna numită."