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

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

Пример:

// внешний класс
class Outer {
    int outer_x = 9;

    void test() {
        Inner inner = new Inner();
        inner.display();
    }

    // внутренний класс
    class Inner {
        void display() {
            Log.i(TAG, outer_x);
        }
    }
}

Вопрос 1

В какой очерёдности вызываются конструкторы этих классов?

Вопрос 2

Как будет выглядеть строка обращения к методу display класса Inner?

Last updated