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.