I would love to understand why the following instantiation will not compile:
Superclass.Subclass myObject = new Superclass.Subclass(); The error message reads:
No enclosing instance of type Superclass is accessible. Must qualify the allocation with an enclosing instance of type Superclass (e.g. x.new A() where x is an instance of Superclass). What is meant by enclosing instance? Why is this necessary?
It seems this message is stating that the syntax must be:
Superclass mySuperObj = new Superclass(); Superclass.Subclass mySubObj = mySuperObj.new Subclass(); BUT it fails to explain what is wrong with my method or why this alternative syntax must be used.