Встречается на собеседованиях • сегодня
В чем разница между статическим вложенным и внутренним классом
Статический вложенный класс (static nested class) не имеет доступа к нестатическим членам внешнего класса и может быть создан без экземпляра внешнего класса. Внутренний класс (inner class) всегда связан с экземпляром внешнего класса и имеет доступ ко всем его членам.
Пример:
java
class Outer {
private int x = 10;
static class Nested {
void print() {
// System.out.println(x); // Ошибка - нет доступа к нестатическому x
}
}
class Inner {
void print() {
System.out.println(x); // Доступ есть
}
}
}
// Использование:
Outer.Nested nested = new Outer.Nested(); // Без экземпляра Outer
Outer outer = new Outer();
Outer.Inner inner = outer.new Inner(); // Требуется экземпляр Outer
Софи собрала все вопросы. Тренируйся и получай
офферы быстрее!
офферы быстрее!
Попробовать бесплатно
Следующий вопрос
Это единственный вопрос по вашему фильтру
как отвечать на вопрос
пример собеседования
фреймворки на собеседовании
типичные вопросы junior
интервью вопросы и ответы