#java
Вопрос по синтаксису Java. Я уже относительно давно пишу на этом языке. Но недавно понял, что не знаю, как создать экземпляр внутреннего класса извне, если этот класс нестатический. Например, у меня есть класс: class Outer { Outer() { } ... class Inner { Inner() { } ... } } Как из внешнего класса создать экземпляр класса Inner?
Ответы
Ответ 1
Как известно, нестатичный внутренний класс должен быть связан с объектом класса-родителя. Если у вас есть такой объект, конструктор внутреннего класса вызывается следующим образом. Outer outer = new Outer(); Innter inner = outer.new Inner();Ответ 2
Рабочий вариант, проверено в коде: Outer outer = new Outer(); Outer.Inner inner = outer.new Inner(); Либо в одну строку создаем 2 объекта: Outer.Inner inner = new Outer().new Inner(); Вариант предложенный Синицыным Артёмом на JDK8 у меня выдает ошибку!!!
Комментариев нет:
Отправить комментарий