Внутренние классы-члены (Member Inner Classes) в Java - это классы, которые определены внутри других классов и имеют доступ к нестатическим членам этого внешнего класса.
Они могут быть объявлены с модификатором доступа private, protected, public или default и иметь доступ к любому члену внешнего класса, даже если он является закрытым (private). Они также могут быть статическими или нестатическими.
Пример внутреннего класса-члена:
public class Outer {
private int x = 10;
public class Inner {
public void printX() {
System.out.println(x);
}
}
}
Здесь класс Inner является внутренним классом-членом класса Outer. Он имеет доступ к нестатическому члену x класса Outer и может вызывать его метод printX() для печати значения x.
Для создания экземпляра внутреннего класса-члена внешнего класса сначала нужно создать экземпляр внешнего класса, а затем создать экземпляр внутреннего класса, используя ссылку на экземпляр внешнего класса. Например:
Outer outer = new Outer();
Outer.Inner inner = outer.new Inner();
inner.printX(); // Выводит значение 10
Таким образом, внутренние классы-члены позволяют создавать классы, которые имеют полный доступ к нестатическим членам внешнего класса и могут использоваться для решения определенных задач, например, как помощник для определенной функциональности внешнего класса.
1606 вопрос-ответ по Java: https://github.com/DEBAGanov/interview_questions
Tелеграмм канал: https://t.me/DEBAGanov
Мое резюме: https://github.com/DEBAGanov