Yes! Static member (or inner) classes (i.e. static classes inside other top level or static inner classes) can have static members. Other type of inner classes can only have static constants...
Well you can call a static member class as static inner class and static nested class. All the classes inside other class but not inside methods are member or inner or nested classes. Classes inside methods are called method local classes and classes in statements are anonymous classes or anonymous inner classes...
it can access instance members of the enclosing class indirectly
I know this is intuitive but still I like to say things which are unambiguous (it's another matter that they usually become ambiguous because they are complicated )