posted 16 years ago
My understanding is that an inner class can't have static declarations in it because it's a member of a particular instance of the class, so it's bound to that instance and can't influence class-level stuff.
An inner class declared as static in its class definition is a static nested class, and it just means that you can instantiate it without having an instance of the class. In this case, you can make static declarations because the inner class isn't bound to an instance.
"The important thing is not to stop questioning."