Локальные классы в Java - это классы, которые объявлены внутри блока кода, такого как метод, конструктор или даже блок кода. Они могут быть полезны для упрощения кода, если нужен класс, который будет использоваться только внутри блока кода. Вот примеры:
Пример 1: Локальный класс внутри метода
public class LocalClassExample {
public void printMessage() {
// Локальный класс
class Message {
String msg;
Message(String msg) {
this.msg = msg;
}
public void display() {
System.out.println(msg);
}
}
Message hello = new Message("Hello");
hello.display();
}
public static void main(String[] args) {
LocalClassExample obj = new LocalClassExample();
obj.printMessage();
}
}
В этом примере внутри метода printMessage() определен локальный класс Message, который содержит строковую переменную msg и метод display(), который выводит эту строку на консоль. Внутри метода printMessage() создается экземпляр класса Message и вызывается метод display().
Пример 2: Локальный класс внутри конструктора
public class LocalClassExample {
private String name;
public LocalClassExample(String name) {
this.name = name;
// Локальный класс
class Greeting {
public void greet() {
System.out.println("Hello, " + name + "!");
}
}
Greeting hello = new Greeting();
hello.greet();
}
public static void main(String[] args) {
LocalClassExample obj = new LocalClassExample("Alice");
}
}
В этом примере внутри конструктора LocalClassExample определен локальный класс Greeting, который содержит метод greet(), выводящий приветствие на консоль. Внутри конструктора LocalClassExample создается экземпляр класса Greeting и вызывается метод greet().
Обратите внимание, что локальный класс может использовать переменные из внешнего блока кода, такие как метод или конструктор, если эти переменные являются финальными или эффективно финальными. Во втором примере локальный класс Greeting использует переменную name из конструктора LocalClassExample.
Аналог желудочного сока Бальзам Болотова для улучшения ЖКТ и жизненной силы.