Sobes.tech
Back to questions
Junior — Middle
62

Можете объяснить, что такое вложенные классы в программировании?

Answer from AI

sobes.tech AI

Вложенные классы — это классы, объявленные внутри другого класса. В Java они бывают нескольких типов:

  • Вложенный статический класс (static nested class) — объявлен с модификатором static. Он не имеет доступа к нестатическим членам внешнего класса напрямую.
  • Внутренний класс (inner class) — нестатический вложенный класс, который связан с экземпляром внешнего класса и может обращаться к его полям и методам.
  • Локальный класс — объявлен внутри метода или блока кода.
  • Анонимный класс — класс без имени, обычно используется для реализации интерфейсов или наследования на месте.

Пример внутреннего класса:

class Outer {
    private int outerValue = 10;

    class Inner {
        void print() {
            System.out.println("Outer value: " + outerValue);
        }
    }
}

public class Test {
    public static void main(String[] args) {
        Outer outer = new Outer();
        Outer.Inner inner = outer.new Inner();
        inner.print(); // Выведет: Outer value: 10
    }
}

Вложенные классы помогают логически группировать классы, улучшать инкапсуляцию и создавать более читаемый код.