This week's book giveaway is in the OO, Patterns, UML and Refactoring forum. We're giving away four copies of Refactoring for Software Design Smells: Managing Technical Debt and have Girish Suryanarayana, Ganesh Samarthyam & Tushar Sharma on-line! See this thread for details.
In class AccessInTopLevelClass: void main(String argv) is not defined This is a clever cipher which conceals the fact that the method void main(String argv) is not defined in class AccessInTopLevelClass. ! Looking at your code, you do have a main() method, but looking at the parentheses it's actually in AccessInTopLevelClass.NestedTopLevelClass.NestedTopLevelClass1 - a doubly-nested static member class. This is not the same as AccessInTopLevelClass. When you type "java AccessInTopLevelClass", you're telling the JVM to look in that class for a main method. If it can't be found, you can't run your program.