Can I have a class inside another class?

Non-static nested classes are called inner classes . Nested classes that are declared static are called static nested classes. A nested class is a member of its enclosing class. Non-static nested classes (inner classes) have access to other members of the enclosing class, even if they are declared private.

Read more

Does Java need a main class?

To compile a program, you doesn’t really need a main method in your program . But, while execution JVM searches for the main method. In the Java the main method is the entry point Whenever you execute a program in Java JVM searches for the main method and starts executing from it.

Read more