In your example, the Inner class define inside method is private to the method and cannot be marked with any access modifier, neither can they be marked as static. It will get a compiler error. If the Inner class outside the method, you can invoke like this.
A static inner class does not have any reference to an enclosing instance. Because of this, methods of a static inner class cannot use the keyword this(either implied or explicit) to access instance variables of the enclosing class. Thsi is just the same as the rules that apply to static methods in ordinary classes. You can create an instance of static inner class without the need for a current instance of the enclosing class.
That is all
