可以使用静态代码块来实现一个可以执行但并没有main方法的Java应用程序。如下面的代码是所示:
上面的代码可以运行是因为static代码块会在java类被加载的时候被执行,而且是在main方法被调用之前。在运行时,JVM会在执行静态代码块以后搜索main方法,如果不能找到main方法,就会抛出一个异常,为了避免这个异常,可以使用System.exit(0)来结束应用程序。
class MainMethodNot {
static {
System.out.println("This java program have run without the run method");
System.exit(0);
}
}
上面的代码可以运行是因为static代码块会在java类被加载的时候被执行,而且是在main方法被调用之前。在运行时,JVM会在执行静态代码块以后搜索main方法,如果不能找到main方法,就会抛出一个异常,为了避免这个异常,可以使用System.exit(0)来结束应用程序。
本文介绍了一种特殊的Java程序实现方式,即不包含main方法却仍能运行的应用程序。通过使用静态代码块并在其中调用System.exit(0),可以在没有main方法的情况下使程序正常退出。


被折叠的 条评论
为什么被折叠?



