posted 13 years ago
Consider the differences between static inner classes and non-static inner classes. Remember that inner classes have a 'special' relationship with their outer classes.
Inner classes are able to make full use of the instance variables present in their outer classes (even private variables).
Static inner classes can be used without requiring an instance of the outer class that they live in, and as a result a static inner classes might be used when there is no instance of the outer class. If there's no outer class instance, then there are no outer class instance variables to utilise. As a result, static inner classes can only access the static variables present in their outer class.
That's one way a static inner class might misappropriately behave like a regular inner class (there's probably more examples too).