Kaj je metoda finalize() v Javi in ​​kako jo preglasiti

Kaj Je Metoda Finalize V Javi In Kako Jo Preglasiti



Java ponuja razvijalcem odlično funkcionalnost za učinkovito upravljanje sistemskih virov. V takem scenariju je ' dokončaj() ” začne veljati metoda, ki sprosti sistemska sredstva, preden se zbiralnik smeti izvede za določen objekt. Vendar pa 'Java Virtual Machine (JVM)' omogoča priklic metode 'finalize()' enkrat na objekt.

Ta blog bo razpravljal o uporabi in preglasitvi metode »finalize()«.







Kaj je metoda Java 'finalize()' in kako jo preglasiti?

' dokončaj() ' metoda ' Objekt ” razred prikliče “Garbage Collector” tik pred brisanjem predmeta, ki je primeren za zbiranje smeti, da uporabi nalogo čiščenja.



Sintaksa



zaščitena praznina finalize ( ) vrže Throwable





V tej sintaksi ' zaščiten ” je specifikator dostopa, ki pomeni, da je do te metode mogoče dostopati samo znotraj razreda in izpeljanih razredov tega razreda.

Primer 1: Uporaba metode “finalize()” v Javi



Ta primer ponazarja uporabo metode »finalize()«:

javni razred Finalize2 {
zaščitena praznina finalize ( ) {
System.out.println ( 'To je metoda Finalize!' ) ;
}
javni statični void main ( Vrvica [ ] args ) {
Objekt Finalize2 = novo Finalize2 ( ) ;
predmet = nič;
System.gc ( ) ;
System.out.println ( 'Pobiralec smeti je priklican!' ) ;
} }

V zgornjih vrsticah kode:

  • Uporabite ' dokončaj() « znotraj razreda »Finalize2«, ki vsebuje navedeni stavek.
  • V ' glavni «, ustvarite objekt razreda prek konstruktorja »Finalize2()«.
  • Zdaj pa objektu dodelite ' nič ” vrednost. Tako je, da ko ima vrednost 'null', ni sklica, zato je primeren za zbiranje smeti.
  • Po tem uporabite » System.gc () ” za izvedbo zbiralnika smeti, s čimer pokličete metodo “finalize()”.

Izhod

Tukaj je mogoče preveriti, ali je metoda »finalize()« pravilno priklicana.

Primer 2: Preglasitev metode »finalize()« Jave

' Objekt ” ustreza nadrejenemu razredu vseh razredov Java. Metoda »finalize()«, ki je prisotna v tem razredu, nima nobene izvedbe. Vendar pa so v definiciji razreda dejavnosti čiščenja tam. Zato preglasitev te metode povzroči izvajanje definiranih dejavnosti čiščenja:

javni razred Finalize {
zaščitena praznina finalize ( ) vrže Throwable {
poskusi {
System.out.println ( 'Metoda razreda finalize()' ) ;
}
ulov ( Razen metanja ) {
vreči razen;
}
končno {
System.out.println ( 'Priklic metode finalize() razreda Object' ) ;
super.finalizirati ( ) ;
} }
javni statični void main ( Vrvica [ ] args ) vrže Throwable {
Finalize obj = novo Finalize ( ) ;
obj.finalizirati ( ) ;
} }

Glede na zgornji blok kode:

  • Določite ' dokončaj() ' in navedite ' Za metanje ” izjema oz.
  • V ' poskusi ', določite navedeni stavek in se spopadite z izjemo v ' ulov ” blok.
  • V ' končno » blok, » super « ključna beseda kaže na metodo »finalize()« razreda objektov. Uporablja se v tem specifičnem bloku, da se zagotovi izvajanje metode »finalize()«, tudi če pride do izjeme.
  • V ' glavni «, ustvarite objekt razreda in preglasite metodo »finalize()« razreda predmeta z metodo, navedeno/definirano v razredu »Finalize«.

Izhod

Pri tem rezultatu je mogoče opaziti, da je metoda »finalize()« uspešno preglasena.

Zaključek

' dokončaj() ' pred brisanjem predmeta prikliče 'Garbage Collector' in jo je mogoče preglasiti z ' super ” ključna beseda. Ta blog je razpravljal o uporabi in preglasitvi metode »finalize()« v Javi.