"Hoi weer. Vandaag leren we kort over de methode finalize (). De Java Virtual Machine roept de methode finalize () aan voordat een object wordt vernietigd. De methode wordt gebruikt om systeembronnen ongedaan te maken of andere opruimtaken uit te voeren. In feite is dit methode is precies het tegenovergestelde van een constructor in Java. U zult zich herinneren dat constructors worden gebruikt om objecten te maken."
"De klasse Object heeft een methode finalize (), wat betekent dat elke andere klasse dat ook heeft ( aangezien alle Java-klassen zijn afgeleid van de klasse Object ). U kunt eenvoudig uw eigen methode finalize () in uw klas implementeren."
"Hier is een voorbeeld:"
class Cat
{
String name;
Cat(String name)
{
this.name = name;
}
protected void finalize() throws Throwable
{
System.out.println(name + " has been destroyed");
}
}
"Dat is logisch, Ellie."
"Maar u moet zich ervan bewust zijn dat de Java Virtual Machine beslist of deze methode moet worden aangeroepen . Vaker wel dan niet, worden objecten die binnen een methode zijn gemaakt en als afval worden gedeclareerd wanneer de methode is voltooid, onmiddellijk vernietigd zonder enige aanroep om te finaliseren (). Deze methode is meer zoals back-up dan een betrouwbare oplossing. De beste optie is om alle systeembronnen vrij te geven (door verwijzingen naar andere objecten in te stellen op null) terwijl het object nog leeft. Ik zal je later meer vertellen over de voordelen en nuances van deze methode. Op dit punt , je hoeft maar twee dingen te begrijpen: er is zo'n methode, en ( verrassing! ) wordt die niet altijd genoemd."
GO TO FULL VERSION