Normally, you need a main method in a Java class if you want to run that class from the command line. However, there is a little trick that allows you to run one without a main method:
System.out.println("Look ma! no main method");
The reason this works is that static initialization blocks get executed as soon as the class is loadedeven before the main method is called. As soon as the block exits, it will look for the main method. When it doesn't find it, it throws an exceptionso the statement exits the program before the exception is thrown.