Possible duplicate:
Java inner class and static nested class
An instance of a static inner class cannot access members of an instance of its enclosing class, while an instance of a non-static inner class can. This is what I mean by syntax difference. Because declaring a static inner class determines whether your program syntax is correct.
But is there any other difference that is not part of the Java syntax? Let's say class A is a top-level class, and class B is an inner class of A. If I don't access the members of an instance of A inside B, then I have to declare B static. But since I am not obligated, I could declare B unsteady and there would be no compilation error. So, in this case, is there any difference, possibly in the generated bytecode, or is there any time difference?
Thanks!
weidi source share