logo

final, nihayet ve finalize arasındaki fark

final, nihayet ve finalize, Java'da istisna işlemede kullanılan anahtar kelimelerdir. Bu anahtar kelimelerin her birinin farklı bir işlevi vardır. final, nihayet ve finalize arasındaki temel fark, son bir erişim değiştiricidir, Sonunda İstisna İşleme'deki bloktur ve Sonuçlandırmak nesne sınıfının yöntemidir.

Bununla birlikte final, nihayet ve finalize arasında birçok fark vardır. final, nihayet ve finalize arasındaki farkların bir listesi aşağıda verilmiştir:

Bay hayır. Anahtar son Sonunda Sonuçlandırmak
1. Tanım final, bir sınıfa, yönteme veya değişkene kısıtlamalar uygulamak için kullanılan anahtar kelime ve erişim değiştiricidir. nihayet Java İstisna İşleme'deki blok, istisna oluşsa da oluşmasa da önemli kodu yürütmek için kullanılan bloktur. finalize, Java'da nesne çöp toplanmadan hemen önce temizleme işlemini gerçekleştirmek için kullanılan yöntemdir.
2. Uygulanabilir Final anahtar sözcüğü sınıflar, yöntemler ve değişkenlerle birlikte kullanılır. Son olarak blok, istisna işlemede her zaman try ve catch bloğuyla ilişkilidir. finalize() yöntemi nesnelerle kullanılır.
3. İşlevsellik (1) Bildirildikten sonra son değişken sabit hale gelir ve değiştirilemez.
(2) son yöntem alt sınıf tarafından geçersiz kılınamaz.
(3) son sınıf miras alınamaz.
(1) nihayet blok, istisna oluşsa da olmasa da önemli kodu çalıştırır.
(2) nihayet blok, try bloğunda kullanılan tüm kaynakları temizler
finalize yöntemi, nesnenin yok edilmeden önceki temizliğini gerçekleştirir.
4. Uygulamak Final yöntemi yalnızca onu çağırdığımızda yürütülür. Nihayet bloğu, try-catch bloğu yürütülür yürütülmez yürütülür.

Yürütülmesi istisnaya bağlı değildir.

finalize yöntemi, nesne yok edilmeden hemen önce yürütülür.

Java'nın son örneği

Son değişken age'i bildirdiğimiz aşağıdaki örneği ele alalım. Bir kez bildirildiğinde değiştirilemez.

FinalÖrnekTest.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(); } } 

Çıktı:

final, nihayet ve finalize arasındaki fark

Yukarıdaki örnekte final değişkenini tanımladık. Benzer şekilde, final anahtar sözcüğünü kullanarak yöntemleri ve sınıfları final olarak ilan edebiliriz.

Java nihayet Örnek

Java kodunun bir istisna oluşturduğu ve catch bloğunun bu istisnayı işlediği aşağıdaki örneğe bakalım. Daha sonra try-catch bloğundan sonra nihayet bloğu yürütülür. Ayrıca kodun geri kalanı da normal şekilde yürütülür.

NihayetExample.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...'); } } 

Çıktı:

final, nihayet ve finalize arasındaki fark

Java sonuçlandırma Örneği

Örnek.java'yı sonlandır

 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'); } } 

Çıktı:

final, nihayet ve finalize arasındaki fark