According to my knowledge we cannot execute without a main method because when your running the java program. java Virtual machine look for the main method .if JVM could not find the main method it will show you run time error Exception in thread main could not find the main class.
But I searched for many blogs and some of them are saying, yes it can be done through static blogs if there is a static block in a java program,the class loader loads all static block before java gives call to main() method!.
Is it really possible and what will be the usability of these.
解决方案
Now - no
Prior to Java 7:
Yes, sequence is as follows:
jvm loads class
executes static blocks
looks for main method and invokes it
So, if there's code in a static block, it will be executed. But there's no point in doing that.
How to test that:
public final class Test {
static {
System.out.println("FOO");
}
}
Then if you try to run the class (either form command line with java Test or with an IDE), the result is:
FOO
java.lang.NoSuchMethodError: main