I understand that an Inner Class it's non-static and a static method from the Outer Class can't reference it.
I have this code, that doesn't work, and I understand why that doesn't work.
class OuterClass { class InnerClass{} public static void outherMethod() { InnerClass i = new InnerClass(); } } But then I have this other code, that DOES work, but I don't understand why it's different from the first one. Why does it work?
class OuterClass { class InnerClass{} public static void outherMethod() { InnerClass i = new OuterClass.new InnerClass(); } } Thanks in advance!
EDIT: it's not duplicated because it isn't the same question. I'm not asking about static nested classes, I'm asking about static methods and inner classes