Sobes.tech
Junior

İç içe sınıflar nedir?

sobes.tech yapay zeka

AI'dan gelen yanıt

İç içe sınıflar, başka bir sınıfın içinde tanımlanan sınıflardır. İki ana türe ayrılırlar: statik iç içe sınıflar (sınıfın statik üyeleri) ve iç sınıflar (statik olmayan üyeler).

Statik iç içe sınıflar:

  • Dış sınıfla ilişkilidir, örneğin örneğiyle değil.
  • Sadece dış sınıfın statik üyelerine erişebilirler.
  • Dış sınıf örneği olmadan oluşturulabilirler.

İç sınıflar:

  • Dış sınıfın bir örneğiyle ilişkilidirler.
  • Dış sınıfın tüm üyelerine (statik ve statik olmayanlar) erişebilirler, private dahil.
  • Oluşturulmak için dış sınıfın bir örneğine ihtiyaç duyarlar.

Kullanım örnekleri:

  • Gruplama: Mantıksal olarak ilişkili sınıflar, kodun okunabilirliğini ve organizasyonunu artırmak için bir araya getirilebilir.
  • Kapsülleme: İç sınıflar, dış sınıfın özel üyelerine erişebilir, böylece uygulama detaylarını kapsüller.
  • Olay dinleyicileri (Java): Genellikle anonim iç sınıflar oluşturmak için kullanılır.
  • Yardımcı sınıflar: Sadece dış sınıf tarafından kullanılan küçük sınıflar.
// Statik iç içe sınıf örneği
class OuterClass {
    static int outerStaticField = 1;
    int outerInstanceField = 2;

    static class StaticNestedClass {
        void display() {
            System.out.println("Dış statik alan: " + outerStaticField);
            // outerInstanceField'a doğrudan erişilemez
        }
    }
}

// İç sınıf örneği
class AnotherOuterClass {
    int outerField = 10;

    class InnerClass {
        void display() {
            System.out.println("Dış alan: " + outerField); // Dış sınıf alanına erişim
        }
    }
}

Karşılaştırma Tablosu:

Özellik Statik iç içe sınıf İç sınıf
İlişki Dış sınıfla Dış sınıfın bir örneğiyle
Dış üyeler erişimi Sadece statik Tüm üyeler (private dahil)
Örnek gerektirir Hayır Evet
Statik üyeler içerebilir Evet Hayır (sadece sabitler)