#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 у меня выдает ошибку!!!
Комментариев нет:
Отправить комментарий