Sobes.tech
Junior — Middle

Programlamada iç sınıf ile iç içe sınıf arasındaki fark nedir?

sobes.tech yapay zeka

AI'dan gelen yanıt

Java'da (ve Android'de) iç içe sınıf herhangi bir başka sınıfın içinde tanımlanmış herhangi bir sınıftır. İç içe sınıflar iki türe ayrılır:

  1. Statik iç içe sınıf (static nested class)static modifiyer ile tanımlanır. Dış sınıfın statik olmayan üyelerine doğrudan erişimi yoktur.
  2. İç sınıf (inner class)static modifiyer olmadan tanımlanmış iç içe sınıf. Dış sınıfın bir örneğiyle bağlantılıdır ve onun statik olmayan alanlarına ve metodlarına erişebilir.

Örnek:

class Outer {
    private int outerField = 10;

    static class StaticNested {
        void print() {
            // outerField'a doğrudan erişilemez
            System.out.println("Statik iç içe sınıf");
        }
    }

    class Inner {
        void print() {
            // outerField'a erişilebilir
            System.out.println("İç sınıf, outerField = " + outerField);
        }
    }
}

Bu nedenle, temel fark, iç sınıfın dış sınıfın bir nesnesiyle bağlantılı olması ve onun statik olmayan üyelerine erişebilmesi, statik iç içe sınıfın ise erişememesidir.