posted 20 years ago
If you'd like to say that the JLS is incomplete, that's fine, but I think you're really splitting hairs here. In fact, I imagine you can find the explanation for such a situation elsewhere in the JLS - perhaps just not in this example.
The problem we face in this situation is that you're trying to access an instance variable of an instance that doesn't yet exist. Obviously, that's a problem.
Whether that variable is part of Inside, Dummy, or Top doesn't really matter - at the point it is being used, none of those instances have been created.
If, however, you allow the constructor to complete, as in the following case, you no longer have a problem:
I hope that helps,
Corey