我们可以在没有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 TestIDE或通过IDE的形式命令行),则结果为:

FOO

java.lang.NoSuchMethodError:主要

以上是 我们可以在没有main()方法的情况下执行Java程序吗? 的全部内容, 来源链接: utcz.com/qa/426913.html

回到顶部