Final, final a finalize jsou klíčová slova v Javě, která se používají při zpracování výjimek. Každé z těchto klíčových slov má jinou funkci. Základní rozdíl mezi final, final a finalize je ten finále je modifikátor přístupu, Konečně je blok ve Zpracování výjimek a dokončit je metoda třídy objektů.
Spolu s tím existuje mnoho rozdílů mezi konečným, konečným a finalizovaným. Níže je uveden seznam rozdílů mezi konečným, konečným a finalizovaným:
pan ne. | Klíč | finále | Konečně | dokončit |
---|---|---|---|---|
1. | Definice | final je klíčové slovo a modifikátor přístupu, který se používá k aplikaci omezení na třídu, metodu nebo proměnnou. | konečně je blok v Java Exception Handling pro spuštění důležitého kódu, ať už k výjimce dojde nebo ne. | finalize je metoda v Javě, která se používá k provedení čištění těsně předtím, než je objekt shromážděn. |
2. | Použitelné pro | Klíčové slovo Final se používá s třídami, metodami a proměnnými. | Nakonec blok vždy souvisí s blokem try and catch při zpracování výjimek. | s objekty se používá metoda finalize(). |
3. | Funkčnost | (1) Jakmile je deklarována, konečná proměnná se stane konstantní a nelze ji upravit. (2) konečnou metodu nelze přepsat podtřídou. (3) konečnou třídu nelze zdědit. | (1) nakonec blok spustí důležitý kód, i když dojde k výjimce nebo ne. (2) nakonec blok vyčistí všechny prostředky použité v bloku try | metoda finalize provádí úklidové činnosti s ohledem na objekt před jeho zničením. |
4. | Provedení | Finální metoda se provede pouze tehdy, když ji zavoláme. | Nakonec se blok provede, jakmile se provede blok try-catch. Jeho provedení není závislé na výjimce. | metoda finalize se provede těsně před zničením objektu. |
Konečný příklad Java
Podívejme se na následující příklad, kde deklarujeme konečný proměnný věk. Jakmile je jednou deklarován, nelze jej upravit.
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(); } }
Výstup:
Ve výše uvedeném příkladu jsme deklarovali proměnnou final. Podobně můžeme metody a třídy prohlásit za konečné pomocí klíčového slova final.
Java konečně Příklad
Podívejme se na níže uvedený příklad, kde kód Java vyvolá výjimku a blok catch tuto výjimku zpracovává. Později se po bloku try-catch provede blok final. Kromě toho se zbytek kódu také provádí normálně.
KonečněExample.java
co je android s easter egg
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...'); } }
Výstup:
Příklad dokončení Java
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'); } }
Výstup: