Рассмотрим следующий класс:Понимание внутреннего класса в Java
package test;
public class Container {
public class Contained {
public void foo() {
System.out.println("printed");
}
}
}
и Main.java:
package test;
public class Main {
public static void main(String[] args){
Container c = new Container();
}
}
Итак, мы здесь создали экземпляр класса Container
. Означает ли это, что мы также создали экземпляр внутреннего класса? Я думал, да, это так, потому что внутренний класс - это вложенный класс non-static
. Но как мы можем получить доступ к экземпляру внутреннего класса? Можем ли мы создать экземпляр вне класса Container
?
Было бы очень полезно, если бы вы предоставили некоторые ссылки на JLS.
он должен быть cr.new Содержимым() не cr.new Container.Contained Не так ли? –
@MSach Вы правы, моя ошибка. благодаря – Eran