Pēdējie, visbeidzot un pabeigtie ir Java atslēgvārdi, kas tiek izmantoti izņēmumu apstrādē. Katram no šiem atslēgvārdiem ir atšķirīga funkcionalitāte. Galvenā atšķirība starp galīgo, galīgo un galīgo ir tā, ka galīgais ir piekļuves pārveidotājs, beidzot ir bloks sadaļā Izņēmumu apstrāde un pabeigt ir objektu klases metode.
peles ritenis neritina pareizi
Turklāt pastāv daudz atšķirību starp galīgo, galīgo un galīgo. Tālāk ir sniegts atšķirību saraksts starp galīgo, galīgo un galīgo:
kungs nr. | Atslēga | galīgais | beidzot | pabeigt |
---|---|---|---|---|
1. | Definīcija | gala ir atslēgvārds un piekļuves modifikators, ko izmanto, lai piemērotu ierobežojumus klasei, metodei vai mainīgajam. | beidzot ir Java izņēmumu apstrādes bloks, lai izpildītu svarīgo kodu neatkarīgi no tā, vai izņēmums notiek vai nē. | finalize ir Java metode, ko izmanto, lai veiktu tīrīšanas apstrādi tieši pirms objekta savākšanas. |
2. | Attiecas uz | Pēdējais atslēgvārds tiek izmantots kopā ar klasēm, metodēm un mainīgajiem. | Visbeidzot, izņēmumu apstrādē bloks vienmēr ir saistīts ar mēģinājuma un uztveršanas bloku. | ar objektiem tiek izmantota metode finalize(). |
3. | Funkcionalitāte | (1) Pēc deklarēšanas gala mainīgais kļūst nemainīgs un to nevar mainīt. (2) galīgo metodi nevar ignorēt apakšklase. (3) galīgo klasi nevar mantot. | (1) visbeidzot, bloķēt, tiek palaists svarīgais kods pat tad, ja notiek izņēmums vai nē. (2) visbeidzot bloks attīra visus mēģinājuma blokā izmantotos resursus | Finalize metode veic tīrīšanas darbības attiecībā uz objektu pirms tā iznīcināšanas. |
4. | Izpilde | Galīgā metode tiek izpildīta tikai tad, kad mēs to izsaucam. | Visbeidzot, bloks tiek izpildīts, tiklīdz tiek izpildīts try-catch bloks. Tās izpilde nav atkarīga no izņēmuma. | pabeigšanas metode tiek izpildīta tieši pirms objekta iznīcināšanas. |
Java pēdējais piemērs
Apskatīsim šādu piemēru, kur mēs deklarējam galīgo mainīgo vecumu. Pēc deklarēšanas to nevar mainīt.
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(); } }
Izvade:
Iepriekš minētajā piemērā mēs esam deklarējuši mainīgo galīgo. Līdzīgi mēs varam pasludināt metodes un klases galīgas, izmantojot galīgo atslēgvārdu.
Java beidzot piemērs
Apskatīsim tālāk redzamo piemēru, kur Java kods rada izņēmumu, bet uztveršanas bloks apstrādā šo izņēmumu. Vēlāk pēdējais bloks tiek izpildīts pēc try-catch bloka. Turklāt pārējais kods tiek izpildīts normāli.
VisbeidzotPiemērs.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...'); } }
Izvade:
scan.next java
Java pabeigšanas piemērs
PabeigtPiemērs.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'); } }
Izvade: