It is illegal to refer to any instance variable inside a static method. Nested and Inner Classes Scope of nested class is bounded by the scope of its enclosing class. Non-static A static nested class is one which has the static modifier applied. It must access members of its enclosing class through an object. Cannot refer to them directly.
Inner class is non-static class.
Inner class is fully within scope of outer class. Inner class has access to all the variables and methods of its enclosing class, can refer to them directly, but the reverse is not true. Member of the inner class are known only within the scope of the inner class and may not be used by the outer class. When Constructors are called, they are called in order of derivation, from superclass to subclass. Method overriding When a method in a subclass has the same name and type signature as a method in its superclass.