我们可以在没有main()方法的情况下执行Java程序吗?
据我所知,没有主方法就无法执行,因为运行Java程序时。Java虚拟机将查找main方法。如果JVM无法找到main方法,它将显示运行时错误。线程main中的异常找不到main类。
但是我搜索了许多博客,其中一些人说,是的,如果Java程序中有静态块,则可以通过静态博客来完成,类加载器会在Java调用main()方法之前加载所有静态块!
真的有可能吗?它们的可用性如何?
回答:
现在不
在Java 7之前:
是的,顺序如下:
- jvm加载类
- 执行静态块
- 寻找主方法并调用它
因此,如果在静态块中有代码,它将被执行。但是这样做是没有意义的。
如何测试:
public final class Test { static {
System.out.println("FOO");
}
}
然后,如果您尝试运行该类(使用java Test
IDE或通过IDE的形式命令行),则结果为:
FOO
java.lang.NoSuchMethodError:主要
以上是 我们可以在没有main()方法的情况下执行Java程序吗? 的全部内容, 来源链接: utcz.com/qa/426913.html