<pedantic ballsniffing>A nested class is any classdefined inside another class. An inner class is anon-static nested class. Multiple top-level(non-nested) classes can exist in the same source fileas long as only one is public.</pedantic ballsniffing>

Section 8: "Member class declarations (�8.5) describe nested classes that are members of the surrounding class. Member classes may be static, in which case they have no access to the instance variables of the surrounding class; or they may be inner classes (�8.1.2)."

8.5.2: "The static keyword may modify the declaration of a member type C within the body of a non-inner class T. Its effect is to declare that C is not an inner class."