A nested ("static inner") class can be instantiated without having an instance of the outer class - in contrast to (normal) inner classes. "Nested class" is a general term which includes inner classes as well as static nested classes (also known as static member classes). The above comment applies to static nested classes but not other nested classes (mostly).
A top level class can't be declared static - it would simply make no sense. Unfortunately when inner / nested classes were first released in
Java, a static nested class was officially known as a "top-level nested class". Which caused no end of confusion, and fortunately when JLS2 came out they got rid of this silly terminology, and top-level class refers only to, well, top-level classes. But if Mo is looking at an out-of-date book, it may refer to a static nested class as "top-levl". Just pretend they said "static nested" instead.