A non-static inner class may have object instances that are associated with instances ofthe class's outer class. A static inner class does not have any object instances.
non static nested classes(or inner class) have direct access to the members of the enclosing class.Static nested class can access members only thru instance of enclosing class.