Ano ang paraang finalize() sa Java at Paano ito I-override

Ano Ang Paraang Finalize Sa Java At Paano Ito I Override



Binibigyan ng Java ang developer ng isang mahusay na pag-andar upang epektibong pamahalaan ang mga mapagkukunan ng system. Sa ganitong senaryo, ang ' tapusin () ” na paraan ay magkakabisa na naglalabas ng mga mapagkukunan ng system bago isagawa ng tagakolekta ng basura para sa isang partikular na bagay. Ang 'Java Virtual Machine (JVM)', gayunpaman, ay nagbibigay-daan sa paggamit ng 'finalize()' na pamamaraan nang isang beses sa bawat object.

Tatalakayin ng blog na ito ang paggamit at pag-override sa 'finalize()' na paraan.







Ano ang Java “finalize()” Method at Paano ito I-override?

Ang ' tapusin () 'paraan ng' Bagay ” class ay hinihimok ng “Basura Collector” bago tanggalin ang bagay na angkop para sa pangongolekta ng basura upang mailapat ang gawain sa paglilinis.



Syntax



protektadong walang bisa ( ) throws Throwable





Sa syntax na ito, ' protektado ” ay isang access specifier na nagpapahiwatig na ang pamamaraang ito ay maaaring ma-access sa loob ng klase at ang mga nagmula na klase ng klase lamang.

Halimbawa 1: Paglalapat ng Paraang “finalize()” sa Java



Ang halimbawang ito ay naglalarawan ng paggamit ng 'finalize()' na paraan:

pampublikong klase Finalize2 {
protektadong walang bisa ( ) {
System.out.println ( 'Ito ang paraan ng Finalize!' ) ;
}
pampublikong static void main ( String [ ] args ) {
Finalize2 object = bagong Finalize2 ( ) ;
bagay = null;
System.gc ( ) ;
System.out.println ( 'Ang kolektor ng basura ay hinihingi!' ) ;
} }

Sa mga linya ng code sa itaas:

  • Ilapat ang ' tapusin () ” na pamamaraan sa loob ng klase na “Finalize2” na binubuo ng nakasaad na pahayag.
  • Sa ' pangunahing ”, lumikha ng object ng klase sa pamamagitan ng “Finalize2()” constructor.
  • Ngayon, maglaan ng isang bagay na ' wala ” halaga. Ito ay tulad na kapag ito ay may 'null' na halaga, walang reference at kaya, ito ay angkop para sa koleksyon ng basura.
  • Pagkatapos nito, ilapat ang ' System.gc () ” na paraan upang maisakatuparan ang tagakolekta ng basura, sa gayon ay tinatawag ang pamamaraang “finalize()”.

Output

Dito, mapapatunayan na ang pamamaraang 'finalize()' ay naaangkop na ginagamit.

Halimbawa 2: Pag-override sa Java 'finalize()' Method

Ang ' Bagay ” class ay tumutugma sa parent class ng lahat ng Java classes. Ang pamamaraang 'finalize()' na nasa klase na ito ay walang anumang pagpapatupad. Gayunpaman, sa kahulugan ng klase, ang mga aktibidad sa paglilinis ay naroroon. Samakatuwid, ang pag-override sa paraang ito ay nagreresulta sa pagsasagawa ng tinukoy na mga aktibidad sa paglilinis:

pampublikong klase Finalize {
protektadong walang bisa ( ) throws Throwable {
subukan {
System.out.println ( 'The class finalize() method' ) ;
}
mahuli ( Throwable maliban ) {
itapon maliban;
}
sa wakas {
System.out.println ( 'Pag-invoke ng finalize() method ng Object class' ) ;
super.finalize ( ) ;
} }
pampublikong static void main ( String [ ] args ) throws Throwable {
I-finalize ang obj = bagong I-finalize ( ) ;
obj.finalize ( ) ;
} }

Ayon sa bloke ng code sa itaas:

  • Tukuyin ang ' tapusin () 'paraan at ipahayag ang ' Naihagis ” exception, ayon sa pagkakabanggit.
  • Nasa ' subukan ” block, tukuyin ang nakasaad na pahayag at makayanan ang pagbubukod sa “ mahuli ” block.
  • Nasa ' sa wakas 'harang, ang' sobrang ” itinuturo ng keyword ang pamamaraang “finalize()” ng object class. Ito ay inilapat sa partikular na bloke na ito upang matiyak ang pagpapatupad ng 'finalize()' na paraan kahit na ang isang exception ay nahaharap.
  • Sa ' pangunahing ”, gumawa ng class object at i-override ang “finalize()” method ng object class na may method na tinukoy/define sa “Finalize” class.

Output

Sa kinalabasan na ito, mapapansing matagumpay na na-override ang 'finalize()' na paraan.

Konklusyon

Ang ' tapusin () Ang paraan ng ” ay hinihingi ng “Basurero Collector” bago tanggalin ang object at maaaring ma-override gamit ang “ sobrang ” keyword. Tinalakay ng blog na ito ang paggamit at pag-override sa pamamaraang “finalize()” sa Java.