Sobes.tech
Junior

Java programlama dilinde 'final' anahtar kelimesi ne anlama gelir?

sobes.tech yapay zeka

AI'dan gelen yanıt

Java'da final anahtar kelimesi, bir değişkenin, metodun veya sınıfın değiştirilemez olduğunu belirtmek için kullanılır.

  1. final değişken:

    • final olarak bildirilen bir değişkene sadece bir kez değer atanabilir. Atandıktan sonra değiştirilemez.
    • Temel veri tipleri için, final değişkenin değeri bir sabittir.
    • Referans tipleri için, final ifadesi, nesneye olan referansın değiştirilemez olduğunu, ancak nesnenin durumu (alanlar) değiştirilebilir olduğunu gösterir (kendi nesnesinin alanları final değilse).
    final int MAX_VALUE = 100; // final temel değişken
    
    final List<String> names = new ArrayList<>(); // final referans değişken
    names.add("Alice"); // OK
    // names = new ArrayList<>(); // Derleme hatası - referans yeniden atanamaz
    
  2. final metod:

    • final olarak bildirilen bir metod, alt sınıflarda geçersiz kılınamaz.
    • Bu, kalıtım hiyerarşisinde istenmeyen davranış değişikliklerini önlemek için kullanılır.
    class Parent {
        final void display() {
            System.out.println("Bu final bir metod.");
        }
    }
    
    class Child extends Parent {
        // @Override void display() { } // Derleme hatası - final metod geçersiz kılınamaz
    }
    
  3. final sınıf:

    • final olarak bildirilen bir sınıf, alt sınıf (miras alınamaz).
    • Bu, sınıfın değiştirilemezliğini sağlamak ve fonksiyonelliğin genişlemesini önlemek için kullanılır.
    final class ImmutableClass {
        private final int value;
    
        public ImmutableClass(int value) {
            this.value = value;
        }
    
        public int getValue() {
            return value;
        }
    }
    
    // class TryingToExtend extends ImmutableClass { } // Derleme hatası - final sınıftan kalıtım yapılamaz