Я понимаю, что Внутренний класс нестатический и статический метод из Внешнего класса не может ссылаться на него.Внешние и внутренние классы и статические методы
У меня есть этот код, который не работает, и я понимаю, почему это не работает.
class OuterClass {
class InnerClass{}
public static void outherMethod() {
InnerClass i = new InnerClass();
}
}
Но тогда у меня есть этот другой код, который делает работу, но я не понимаю, почему он отличается от первого. Почему это работает?
class OuterClass {
class InnerClass{}
public static void outherMethod() {
InnerClass i = new OuterClass.new InnerClass();
}
}
Заранее благодарен!
EDIT: это не дублируется, потому что это не тот же вопрос. Я не спрашиваю о статических вложенных классах, я спрашиваю о статических методах и внутренних классах.