Junior — Middle
100
Java'da statik iç içe sınıf ile statik olmayan iç sınıf arasındaki fark nedir?
Sorulan şirketler
СБЕР Бизнес
AI'dan gelen yanıt
sobes.tech yapay zeka
Статический вложенный класс (static nested class) в Java — это класс, объявленный внутри другого класса с модификатором static. Он не имеет доступа к нестатическим полям и методам внешнего класса напрямую, так как не связан с экземпляром внешнего класса.
Внутренний (не статический) класс — это класс, объявленный внутри другого класса без static. Он связан с экземпляром внешнего класса и может напрямую обращаться к его нестатическим полям и методам.
Пример:
class Outer {
private int x = 10;
static class StaticNested {
void print() {
// Нельзя обратиться к x напрямую
System.out.println("Static nested class");
}
}
class Inner {
void print() {
// Можно обратиться к x
System.out.println("Inner class, x = " + x);
}
}
}
Основные отличия:
- Статический вложенный класс не имеет ссылки на экземпляр внешнего класса.
- Внутренний класс всегда связан с экземпляром внешнего класса.
- Для создания внутреннего класса нужен объект внешнего класса, для статического вложенного — нет.