This public class acts as the initial class from where the JVM instance for the
java program is begun.So when you provide more than one public class in a program the compiler itself stops you by throwing an error. This is because later you can't confuse the JVM as to which class to be its initial class because only one public class with the public static void main(
String args[]) is the initial class for JVM.