Mis on Java-meetod finalize() ja kuidas seda alistada

Mis On Java Meetod Finalize Ja Kuidas Seda Alistada



Java pakub arendajale suurepäraseid funktsioone süsteemiressursside tõhusaks haldamiseks. Sellise stsenaariumi korral ' lõpetama () ” rakendub meetod, mis vabastab süsteemiressursid enne, kui prügikoguja konkreetse objekti jaoks käivitab. 'Java virtuaalmasin (JVM)' võimaldab aga ühe objekti kohta üks kord kutsuda meetodit 'finalize()'.

Selles ajaveebis käsitletakse meetodi „finalize()” kasutamist ja alistamist.







Mis on Java 'finalize()' meetod ja kuidas seda alistada?

' lõpetama () ' meetod ' Objekt ” klassi kutsub “Prügikorjaja” välja vahetult enne prügikorjamiseks sobiva objekti kustutamist koristusülesande rakendamiseks.



Süntaks



kaitstud tühine lõpetamine ( ) viskab Viskatav





Selles süntaksis ' kaitstud ” on juurdepääsu spetsifikaat, mis tähendab, et sellele meetodile pääseb juurde ainult klassi ja selle klassi tuletatud klasside piires.

Näide 1: 'finalize()' meetodi rakendamine Javas



See näide illustreerib meetodi 'finalize()' kasutamist:

avalik klass Lõpeta2 {
kaitstud tühine lõpetamine ( ) {
System.out.println ( 'See on lõpetamise meetod!' ) ;
}
avalik static void main ( String [ ] args ) {
Finalize2 objekt = uus Finalize2 ( ) ;
objekt = null;
System.gc ( ) ;
System.out.println ( 'Prügivedaja kutsutakse esile!' ) ;
} }

Ülaltoodud koodiridades:

  • Rakenda ' lõpetama () ” meetodit klassis “Finalize2”, mis sisaldab märgitud avaldust.
  • jaotises ' peamine ”, looge konstruktori 'Finalize2()' kaudu klassi objekt.
  • Nüüd määrake objektile ' null ” väärtus. See on selline, et kui sellel on nullväärtus, siis pole viidet ja seega sobib see prügiveoks.
  • Pärast seda rakendage ' System.gc () ” meetodil prügikoguja käivitamiseks, kutsudes seeläbi välja meetodi „finalize()”.

Väljund

Siin saab kontrollida, kas meetod 'finalize()' on õigesti välja kutsutud.

Näide 2: Java 'finalize()' meetodi alistamine

' Objekt ” klass vastab kõigi Java klasside vanemklassile. Selles klassis oleval meetodil 'finalize()' pole rakendust. Klassi määratluses on aga koristustegevused olemas. Seetõttu viib selle meetodi alistamine määratletud puhastustoimingute läbiviimiseni:

avalik klass Lõpeta {
kaitstud tühine lõpetamine ( ) viskab Viskatav {
proovi {
System.out.println ( 'Classi finalize() meetod' ) ;
}
püüda ( Viskatav va ) {
viska välja arvatud;
}
lõpuks {
System.out.println ( 'Objektiklassi meetodi finalize() kutsumine' ) ;
super.lõpeta ( ) ;
} }
avalik static void main ( String [ ] args ) viskab Viskatav {
Lõpeta obj = uus Lõpeta ( ) ;
obj.lõpeta ( ) ;
} }

Vastavalt ülaltoodud koodiplokile:

  • Määrake ' lõpetama () ' meetodit ja deklareerige ' Viskatav ” erand vastavalt.
  • jaotises ' proovi ' plokk, täpsustage märgitud avaldus ja tehke toime erandiga ' püüda ” plokk.
  • jaotises ' lõpuks ' plokk, ' Super ” märksõna osutab objektiklassi meetodile “finalize()”. Seda kasutatakse selles konkreetses plokis, et tagada meetodi 'finalize()' täitmine isegi erandi korral.
  • In ' peamine ”, looge klassi objekt ja alistage objektiklassi meetod 'finalize()' klassis 'Finalize' määratud/määratletud meetodiga.

Väljund

Selles tulemuses võib täheldada, et 'finalize()' meetod on edukalt tühistatud.

Järeldus

' lõpetama () 'Prügikoguja' kutsub enne objekti kustutamist välja meetodi ja selle saab tühistada, kasutades ' Super ” märksõna. Selles ajaveebis arutati meetodi „finalize()” kasutamist ja alistamist Javas.