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:
- Statik iç içe sınıf (static nested class) —
staticmodifiyer ile tanımlanır. Dış sınıfın statik olmayan üyelerine doğrudan erişimi yoktur. - İç sınıf (inner class) —
staticmodifiyer 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.