It's in line with what you wrote, but what I wanted to point out was
that the people using the old terminology were not wrong, just out of
date. Originally they were called static inner classes and the oxymoron
of top-level nested classes.
Thankfully they cleaned up the terminology, but we have to understand
that people will still try to use the old terminology, because they
aren't aware of the change.
It's worth also pointing out that there is another, rarely used, type
of nested class - the local class. Josh Bloch calls the four types of
nested classes as static member classes, non-static member classes,
anonymous classes and local classes. Local classes are somewhere
between non-static member classes and anonymous classes.
I was lumping local classes in with nested classes, thinking that they
were really just nested classes with a smaller scope for the name, but
thinking about it some more and checking I think it could be considered
a special type as there are some slightly different rules (e.g. the
ability to access final local variables).
I'll include that, because what I posted is one of the canned response
for certain subjects that occur here frequently. Here is the added text:
- Named inner classes can be either class members (declared as a member
of a class) or local (declared within a method).