Den endelige, endelige og afsluttende er nøgleord i Java, der bruges i undtagelseshåndtering. Hvert af disse søgeord har en anden funktionalitet. Den grundlæggende forskel mellem endelig, endelig og endelig er, at endelig er en adgangsmodifikator, endelig er blokken i Undtagelseshåndtering og afslutte er metoden til objektklassen.
Sammen med dette er der mange forskelle mellem endelig, endelig og endelig. En liste over forskelle mellem endelig, endelig og endelig er givet nedenfor:
hr. nej. | Nøgle | endelig | endelig | afslutte |
---|---|---|---|---|
1. | Definition | final er nøgleordet og adgangsmodifikator, som bruges til at anvende begrænsninger på en klasse, metode eller variabel. | endelig er blokken i Java Exception Handling til at udføre den vigtige kode, uanset om undtagelsen forekommer eller ej. | finalize er metoden i Java, som bruges til at udføre oprydningsbehandling lige før objektet samles affald. |
2. | Gælder for | Det endelige nøgleord bruges sammen med klasserne, metoderne og variablerne. | Endelig er blok altid relateret til try and catch-blokken i undtagelseshåndtering. | finalize() metoden bruges med objekterne. |
3. | Funktionalitet | (1) Når den er deklareret, bliver den endelige variabel konstant og kan ikke ændres. (2) endelig metode kan ikke tilsidesættes af underklasse. (3) afsluttende klasse kan ikke arves. | (1) til sidst blokerer den vigtige kode, selvom undtagelsen forekommer eller ej. (2) endelig rydder blok op i alle de ressourcer, der bruges i prøveblokken | afslutte metoden udfører rengøringsaktiviteterne med hensyn til objektet før dets destruktion. |
4. | Udførelse | Den endelige metode udføres kun, når vi kalder den. | Endelig udføres blokering, så snart try-catch-blokken udføres. Dets udførelse er ikke afhængig af undtagelsen. | finalize-metoden udføres lige før objektet ødelægges. |
Java sidste eksempel
Lad os overveje følgende eksempel, hvor vi erklærer endelig variabel alder. Når den først er erklæret, kan den ikke ændres.
FinalExampleTest.java
public class FinalExampleTest { //declaring final variable final int age = 18; void display() { // reassigning value to age variable // gives compile time error age = 55; } public static void main(String[] args) { FinalExampleTest obj = new FinalExampleTest(); // gives compile time error obj.display(); } }
Produktion:
I ovenstående eksempel har vi erklæret en variabel final. På samme måde kan vi erklære metoderne og klasserne endelige ved at bruge det endelige nøgleord.
Java endelig Eksempel
Lad os se nedenstående eksempel, hvor Java-koden kaster en undtagelse, og catch-blokken håndterer denne undtagelse. Senere udføres finally-blokken efter try-catch-blokken. Yderligere udføres resten af koden også normalt.
EndeligExample.java
public class FinallyExample { public static void main(String args[]){ try { System.out.println('Inside try block'); // below code throws divide by zero exception int data=25/0; System.out.println(data); } // handles the Arithmetic Exception / Divide by zero exception catch (ArithmeticException e){ System.out.println('Exception handled'); System.out.println(e); } // executes regardless of exception occurred or not finally { System.out.println('finally block is always executed'); } System.out.println('rest of the code...'); } }
Produktion:
Java færdiggørelse Eksempel
FinalizeExample.java
public class FinalizeExample { public static void main(String[] args) { FinalizeExample obj = new FinalizeExample(); // printing the hashcode System.out.println('Hashcode is: ' + obj.hashCode()); obj = null; // calling the garbage collector using gc() System.gc(); System.out.println('End of the garbage collection'); } // defining the finalize method protected void finalize() { System.out.println('Called the finalize() method'); } }
Produktion: