В Java есть два основных типа вложенных классов: внутренние классы (inner classes) и статические вложенные классы (static nested classes).
Внутренние классы - это классы, объявленные внутри другого класса без использования модификатора static. Такие классы имеют доступ к членам внешнего класса, включая приватные поля и методы, и могут использоваться для создания более читаемого и логически законченного кода.
Статические вложенные классы - это классы, объявленные внутри другого класса с использованием модификатора static. Эти классы не имеют доступа к членам внешнего класса и используются для логической группировки классов и для создания пространства имен.
Пример создания статического вложенного класса:
public class OuterClass {
// Код внешнего класса public static class InnerStaticClass {
// Код статического вложенного класса }
}
Пример создания внутреннего класса:
public class OuterClass {
// Код внешнего класса public class InnerClass {
// Код внутреннего класса }
}
Обратите внимание, что внутренний класс может быть создан только в контексте экземпляра внешнего класса, тогда как статический вложенный класс может быть создан без создания экземпляра внешнего класса.
1606 вопрос-ответ по Java: https://github.com/DEBAGanov/interview_questions
Tелеграмм канал: https://t.me/DEBAGanov
Мое резюме: https://github.com/DEBAGanov