Финал, финалли и финализе су кључне речи у Јави које се користе у обради изузетака. Свака од ових кључних речи има различите функције. Основна разлика између финала, финалли и финализе је у томе што коначни је модификатор приступа, коначно је блок у обради изузетака и финализовати је метод класе објекта.
Уз ово, постоје многе разлике између финала, финала и финализе. Списак разлика између финала, финалли и финализе је дат у наставку:
г. бр. | Кључ | коначни | коначно | финализовати |
---|---|---|---|---|
1. | Дефиниција | финал је кључна реч и модификатор приступа који се користи за примену ограничења на класу, метод или променљиву. | коначно је блок у Јава Екцептион Хандлинг за извршавање важног кода без обзира да ли се изузетак догоди или не. | финализе је метод у Јави који се користи за обављање обраде чишћења непосредно пре него што се објекат прикупи смеће. |
2. | Применљиво на | Финална кључна реч се користи са класама, методама и варијаблама. | Коначни блок је увек повезан са блоком три анд цатцх у руковању изузетцима. | финализе() метода се користи са објектима. |
3. | Функционалност | (1) Једном декларисана, коначна променљива постаје константна и не може се мењати. (2) финални метод не може бити замењен подкласом. (3) завршна класа се не може наследити. | (1) коначно блок покреће важан код чак и ако дође до изузетка или не. (2) коначно блок чисти све ресурсе коришћене у блоку три | финализе метода обавља активности чишћења у односу на објекат пре његовог уништења. |
4. | Извршење | Финални метод се извршава само када га позовемо. | Коначни блок се извршава чим се изврши блок три-цатцх. Његово извршење не зависи од изузетка. | метода финализе се извршава непосредно пре него што се објекат уништи. |
Јава завршни пример
Хајде да размотримо следећи пример где декларишемо коначну променљиву старост. Једном проглашен не може се мењати.
општа грешка заштите
ФиналЕкамплеТест.јава
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(); } }
Излаз:
У горњем примеру, прогласили смо променљиву финал. Слично, методе и класе можемо прогласити коначним користећи кључну реч финал.
Јава коначно Пример
Хајде да видимо доњи пример где Јава код избацује изузетак, а блок цатцх рукује тим изузетком. Касније се блок финалли извршава након блока три-цатцх. Даље, остатак кода се такође извршава нормално.
ФиналлиЕкампле.јава
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...'); } }
Излаз:
пун облик и д е
Јава финализе Пример
ФинализеЕкампле.јава
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'); } }
Излаз: