No book has a complete explanation of this area - they avoid full explanations precisely because of the complexity. This may have misled you into believing there is some simpler explanation - there isn't. Any simpler explanation you find is probably wrong.
Even this explanation is too simple. I have left out details of where javac deviates from the JLS (java language spec). Sun regards the JLS as wrong on this point! If javac and the JLS differ you know this is a complex area.
In case you're wondering, the area of nested classes and super class constructors is where the specification and javac differ. Since I hadn't discussed nested classes I didn't include an explanation of the problem.
If you find it difficult, try a simpler explanation from some book, (with luck it will be incomplete rather than wrong), then come back to this when you think you understand what the book is saying.
This isn't an easy area, 'access before initialization' for example is a subtle problem (I even left out some of the details). The only way I can see of simplifying further would be to leave it out altogether.
What I try and do is give details of how things like 'new' are done which I hope motivates why other things behave as they do. If you have any ideas I'm always open to suggestions of how to simplify it, (preferably without loosing detail).
Keep it up ! Best videos Specially Inner classes videos
afzalrehman 2 years ago
Comment removed
afzalrehman 2 years ago
This would be the like the hardist way explianing it.
manzoor1 2 years ago
No book has a complete explanation of this area - they avoid full explanations precisely because of the complexity. This may have misled you into believing there is some simpler explanation - there isn't. Any simpler explanation you find is probably wrong.
Even this explanation is too simple. I have left out details of where javac deviates from the JLS (java language spec). Sun regards the JLS as wrong on this point! If javac and the JLS differ you know this is a complex area.
Zantorc 2 years ago
In case you're wondering, the area of nested classes and super class constructors is where the specification and javac differ. Since I hadn't discussed nested classes I didn't include an explanation of the problem.
If you find it difficult, try a simpler explanation from some book, (with luck it will be incomplete rather than wrong), then come back to this when you think you understand what the book is saying.
Zantorc 2 years ago
This is a complicated way of explaining this. You know your stuff, but try to simplify it some. Just some constructive criticism.
evilfrenchguy 3 years ago
This isn't an easy area, 'access before initialization' for example is a subtle problem (I even left out some of the details). The only way I can see of simplifying further would be to leave it out altogether.
What I try and do is give details of how things like 'new' are done which I hope motivates why other things behave as they do. If you have any ideas I'm always open to suggestions of how to simplify it, (preferably without loosing detail).
Zantorc 3 years ago