Alt hvad du behøver at vide om endelig, endelig og færdiggør i Java



Denne artikel om Final, Endelig og Afslut i Java giver dig en komplet liste over forskelle mellem de sidste, endelige og færdiggør nøgleord sammen med praktiske implementeringer.

Hvis du har nogen tidligere erfaring med , så har du måske bemærket, at interviewerne har tendens til at stille vanskelige spørgsmål, der normalt hentes fra de grundlæggende begreber. Et sådant spørgsmål, som oftest stilles, er at skelne mellem endelig, endelig og færdiggørelse i . Gennem mediet i denne artikel vil jeg trække en klar linje mellem endelig, endelig og færdiggørelse i Java, som vil hjælpe dig med at få bedre indsigt.

I denne artikel vil jeg dække følgende emner:





Så lad os komme i gang med det allerførste nøgleord blandt final, endelig og finaliser i Java.

Sidste nøgleord

I Java er final et nøgleord, som også kan bruges som adgangsmodifikator. Med andre ord bruges det endelige søgeord til at begrænse en brugers adgang. Det kan bruges i forskellige sammenhænge som:



  1. Variabel finale
  2. Endelig metode
  3. Endelig klasse

For hver af disse har det endelige søgeord en anden effekt. Lad os nu se, hvordan det påvirker hver af dem en efter en.

1. Variabel slutning

Hver gang det sidste nøgleord i bruges med en variabel, felt eller parameter betyder det, at når referencen er videregivet eller instantieringen er udført, kan dens værdi ikke ændres under hele udførelsen af ​​programmet. I tilfælde af a uden nogen værdi er deklareret som endelig, så er den kendt som blank / ikke-initialiseret slutvariabel og kan kun initialiseres via en konstruktør.

Lad os nu se et eksempel.



offentlig klasse A {int var1 = 123 // erklæring af endelige variabler final int var2 = 345 final int var3 // Forsøg på at initialisere en tom slutvariabel var = 555 // Fejl A () {var1 = 111 // Ingen fejl var2 = 333 // Kompileringsfejl // Initialisering af en tom endelig variabel var3 = 444 // Ingen fejl} // videregivelse af endelige parametre ugyldig gennemsnit (int param1, final int param2) {param1 = 2345 // Ingen fejl param2 = 1223 // Compilation Error} // erklæring af endelige felter ugyldigt show () {final int fieldVal = 300000 fieldVal = 400000 // Error}}

Så alt handlede om, hvordan det endelige søgeord påvirker en variabel. Lad os nu se, hvordan en metode påvirkes af den.

2. Endelig metode

I Java, når en metode erklæres som endelig, kan den ikke være af enhver børneklasse under hele gennemførelsen af ​​programmet.

Lad os se et eksempel.

// ENDELIG METODE klasse A {endelig ugyldig metode_abc () {System.out.println ('Dette er en endelig metode og kan ikke tilsidesættes')} ugyldig metode_xyz () {System.out.println ('Dette er en normal metode og kan tilsidesættes ')}} klasse B udvider A {void method_abc {// Compile Time Error} void method_xyz () {System.out.println (' Dette er en tilsidesat metode i klasse B ')}}

Indtil nu har du allerede set resultaterne af at erklære en variabel og en metode endelig, lad os nu gå videre og se, hvad der sker, når en klasse erklæres som endelig i Java.

3. Endelig klasse

I Java, når en klasse erklæres som endelig, kan det ikke være . Dette skyldes, at når en klasse først er erklæret som endelig, vil alle datamedlemmer og metoder indeholdt i klassen implicit blive erklæret som endelige. Når en klasse først er erklæret som endelig, kan den ikke længere erklæres som abstrakt. Med andre ord kan en klasse være en af ​​de to, endelige eller abstrakte.

Lad os se et eksempel.

// FINAL CLASS final class A {// class body} klasse B udvider A {// Compilation Error // class body}

Jeg håber, at du nu har forstået, hvordan det sidste nøgleord fungerer. Så lad os nu gå videre med denne artikel om endelig, endelig og færdiggør i Java for at finde ud af rollen som endelig nøgleord.

Endelig blokere

I Java er endelig en valgfri blok, der bruges til . Det er normalt forud for en try-catch blok. Endelig bruges blok til at udføre en vigtig kode, såsom oprydning af ressourcer eller frigøre hukommelsesforbrug osv. En endelig blok udføres, uanset om en undtagelse håndteres eller ej. Således betragtes indpakning af oprydningskoder i en endelig blok som en god praksis. Du kan også bruge den med en prøveblok uden brug for nogen fangstblok sammen med den.

Lad os nu se et eksempel på det samme.

klasse A {public static void main (String args []) {try {System.out.println ('Try Block') throw new Exception ()} catch (Exception e) {System.out.println ('Catch Block') } endelig {System.out.println ('Endelig blokering')}}}

Indtil nu har jeg allerede diskuteret de sidste og endelig nøgleord i Java. Lad os nu kaste lys over det sidste nøgleord blandt de tre, det vil sige, færdiggør nøgleordet i Java.

Afslut metode

Finalize er en beskyttet ikke-statisk metode, der er defineret i objektklassen og er således tilgængelig for alle objekter i Java.Denne metode erkaldes af affaldssamleren, før en genstand ødelægges fuldstændigt.Som nogle gangeen skal muligvis udføre nogle vigtige opgaver som at lukke en åben forbindelse, frigøre en ressource osv. inden den ødelægges. Hvis disse opgaver ikke udføres, kan det muligvis mindske programmets effektivitet. Således er denaffaldssamler kalder det for de genstande, der ikke længere er henvist til og er blevet markeret til affaldssamling.

Denne metode er erklæret beskyttet for at begrænse dens anvendelse uden for klassen. Men du kan tilsidesætte det inden for klassen for at definere dets egenskaber på tidspunktet for affaldsopsamling.

java hvordan man bruger dette

Lad os se et eksempel på det samme.

offentlig klasse A {public void finalize () kaster Throwable {System.out.println ('Object is ødelagt af Garbage Collector')} public static ugyldigt main (String [] args) {Edureka test = new Edureka () test = null System.gc ()}}

Med dette kommer vi til slutningen af ​​denne artikel om endelig, endelig og færdiggørelse i Java. For at afslutte dette har jeg tilføjet en sammenligning mellem alle de tre nøgleord, som vil hjælpe dig med at hente de store forskelle på et øjeblik.

Sammenligningstabel - Endelig vs Endelig vs Afslut søgeord i Java

Faktor Endelig Langt om længe Afslut
Definition Final er et nøgleord og bruges som adgangsmodifikator i JavaEndelig er en blok i Java brugt til undtagelseshåndteringFinalize er en metode i Java, der bruges til affaldssamling
Ansøgning Final i Java bruges med variabler, metoder og klasser til at indstille adgangstilladelserEndelig bruges blok sammen med en prøve-fangst-blokFinaliseringsmetoden i Java bruges sammen med objekter, der ikke længere er i brug
Fungere Endelig variabel i Java er en konstant, hvis værdi ikke kan ændres, når den først er tildelt.

Den endelige metode i Java kan ikke tilsidesættes af dets underklasser.

Endelig klasse i Java kan ikke arves af nogen underordnet klasse.

Endelig hjælper blok i Java med at rydde op i de ressourcer, der er brugt i prøveblokkenFinaliseringsmetoden hjælper med at rydde op i aktiviteterne for objektet, før det ødelægges af skraldespanden
Udførelse Det udføres, når det påberåbes af compilerenUdføres lige efter udførelsen af ​​try-catch blokDet udføres lige før et objekt ødelægges

Jeg håber, at gennem denne Final, Endelig og Finalize i Java, var jeg i stand til at rydde begreberne og hjalp dig med at tilføje værdi til din viden.

Hvis du fandt denne artikel om “Endelig, Endelig og Afslut i Java ”Relevant, tjek af Edureka, et pålideligt online læringsfirma med et netværk på mere end 250.000 tilfredse elever spredt over hele kloden. Har du et spørgsmål til os? Nævn det i kommentarfeltet i dette Endelig, Endelig og Afslut i Java og vi vender tilbage til dig.