Hvad er finalize()-metoden i Java, og hvordan man tilsidesætter den

Hvad Er Finalize Metoden I Java Og Hvordan Man Tilsidesaetter Den



Java giver udvikleren en fantastisk funktionalitet til at administrere systemressourcerne effektivt. I et sådant scenarie vil ' afslutte() ”-metoden træder i kraft, der frigiver systemressourcerne, før affaldsopsamleren eksekverer for et specifikt objekt. 'Java Virtual Machine (JVM)' tillader dog at påkalde 'finalize()'-metoden én gang pr. objekt.

Denne blog vil diskutere brug og tilsidesættelse af 'finalize()'-metoden.







Hvad er Java 'finalize()'-metoden, og hvordan tilsidesætter man den?

Det ' afslutte() 'metoden af ​​' Objekt ”-klassen påkaldes af “Garbage Collector” lige før sletning af det objekt, der er egnet til affaldsindsamling, for at anvende oprydningsopgaven.



Syntaks



beskyttet tomrum afsluttes ( ) kaster Kastbar





I denne syntaks, ' beskyttet ” er en adgangsspecifikation, der antyder, at denne metode kun kan tilgås inden for klassen og de afledte klasser af denne klasse.

Eksempel 1: Anvendelse af 'finalize()'-metoden i Java



Dette eksempel illustrerer brugen af ​​'finalize()'-metoden:

offentlig klasse Afslut2 {
beskyttet tomrum afsluttes ( ) {
System.out.println ( 'Dette er Finalize-metoden!' ) ;
}
offentlig statisk tomrum hoved ( Snor [ ] args ) {
Finalize2-objekt = nyt Finalize2 ( ) ;
objekt = null;
System.gc ( ) ;
System.out.println ( 'Affaldssamleren er påberåbt!' ) ;
} }

I ovenstående kodelinjer:

  • Anvend ' afslutte() ” metode inden for klassen “Finalize2”, der omfatter den angivne erklæring.
  • i ' vigtigste ”, opret et klasseobjekt via “Finalize2()”-konstruktøren.
  • Tildel nu et objekt en ' nul 'værdi. Det er sådan, at når det har en 'nul' værdi, er der ingen reference, og så er det velegnet til affaldsindsamling.
  • Anvend derefter ' System.gc () ”-metoden til at udføre garbage collector og kalder derved “finalize()”-metoden.

Produktion

Her kan det verificeres, at 'finalize()'-metoden aktiveres korrekt.

Eksempel 2: Tilsidesættelse af Java 'finalize()'-metoden

Det ' Objekt ” klasse svarer til overordnet klasse for alle Java klasser. Metoden 'finalize()' til stede i denne klasse har ingen implementering. Men i klassedefinitionen er oprydningsaktiviteterne der. Derfor resulterer tilsidesættelse af denne metode i at udføre de definerede oprydningsaktiviteter:

offentlig klasse Afslut {
beskyttet tomrum afsluttes ( ) kaster Kastbar {
prøve {
System.out.println ( 'Klassen finalize() metoden' ) ;
}
fangst ( Kan kastes undtagen ) {
kaste undtagen;
}
endelig {
System.out.println ( 'Bruger finalize()-metoden for Object-klassen' ) ;
super.afslut ( ) ;
} }
offentlig statisk tomrum hoved ( Snor [ ] args ) kaster Kastbar {
Afslut obj = ny Afslut ( ) ;
obj.afslutte ( ) ;
} }

I henhold til ovenstående kodeblok:

  • Angiv ' afslutte() '-metoden og erklære ' Kan kastes ” undtagelse, hhv.
  • I ' prøve ”-blok, angiv den angivne erklæring og overtag undtagelsen i ” fangst ” blok.
  • I ' endelig ' blok, ' super ” nøgleordet peger på “finalize()”-metoden for objektklassen. Den anvendes i denne specifikke blok for at sikre udførelse af 'finalize()'-metoden, selvom der er en undtagelse.
  • i ' vigtigste ”, opret et klasseobjekt og tilsidesæt “finalize()”-metoden for objektklassen med den metode, der er angivet/defineret i klassen “Finalize”.

Produktion

I dette resultat kan det observeres, at 'finalize()'-metoden er tilsidesat med succes.

Konklusion

Det ' afslutte() '-metoden påkaldes af 'Garbage Collector' før sletning af objektet og kan tilsidesættes ved hjælp af ' super ” nøgleord. Denne blog diskuterede brug og tilsidesættelse af 'finalize()'-metoden i Java.