Try to execute following program.
class MainMethodNot { static { System.out.println("This java program have run without the run method"); System.exit(0); } }
The reason that this program executes because static block is executed as soon as the class is loaded. However JVM throws an exception because it doesn't find main() method which can be avoided by using System.exit() function.