Назад к вопросам
Middle
99
questionbank
Что такое локальный класс и каковы его особенности?
Sobes Copilot
Получайте ответы в реальном времени
Ответ от нейросети
sobes.tech AI
Локальный класс — это класс, объявленный внутри блока кода, обычно метода.
Особенности:
- Область видимости: Виден только внутри блока, где объявлен.
- Не имеет модификаторов доступа (public, private, protected).
- Нельзя объявить как static.
- Может быть абстрактным или final.
- Имеет доступ к членам включающего класса, включая приватные.
- Может использовать final или effectively final локальные переменные из enclosing scope.
- Создание объекта происходит внутри блока кода.
Пример:
public class OuterClass {
private String outerField = "Внешнее поле";
public void someMethod() {
final String localVariable = "Локальная переменная"; // эффективно final
class LocalClass { // Локальный класс
public void printValues() {
System.out.println(outerField); // Доступ к полю внешнего класса
System.out.println(localVariable); // Доступ к локальной переменной
}
}
LocalClass localObject = new LocalClass();
localObject.printValues();
}
public static void main(String[] args) {
OuterClass outer = new OuterClass();
outer.someMethod();
}
}