Вложенные классы в Java

Автор: Andrey_139
Источник: https://habrahabr.ru/post/342090/
image

Добрый день, Хабровчане!

На собеседованиях мне довольно часто попадались вопросы про вложенные классы. Поэтому я решил разобраться в них, систематизировать свои знания, а заодно и поделиться этими знаниями с вами.

Вложенный класс (InnerClass)


public class OuterClass {
    public class InnerClass{
    }
}

Из него видны:
— все (даже private) свойства и методы OuterClassа обычные и статические.
— public и protected свойства и методы родителя OuterClassа обычные и статические. То есть те, которые видны в OuterClassе.

Его видно:
— согласно модификатору доступа.

Может наследовать:
— обычные классы.
— такие же внутренние классы в OuterClassе и его предках.

Может быть наследован:
— таким же внутренним классом в OuterClassе и его наследниках.

Может имплементировать интерфейс

Может содержать:
— только обычные свойства и методы (не статические).

Создаётся из другого класса так:
OuterClass outerClass = new OuterClass();
OuterClass.InnerClass innerClass = outerClass.new InnerClass();

Читать дальше →
habrahabr
2
0 GOLOS
0
В избранное
habreplicator
На Golos с 2017 M04
2
0

Зарегистрируйтесь, чтобы проголосовать за пост или написать комментарий

Авторы получают вознаграждение, когда пользователи голосуют за их посты. Голосующие читатели также получают вознаграждение за свои голоса.

Зарегистрироваться
Комментарии (0)
Сортировать по:
Сначала старые