这个问题的答案取决于您使用的Java版本。在JDK 7之前,main()函数在Java程序中不是必需的。
您可以在静态块下编写完整的代码,并且可以正常运行。
一旦在main()之前加载了类,就会首先执行静态块。该方法因此在main()被调用之前。main通常被声明为静态方法,因此Java不需要对象来调用main方法。
当您给出运行命令时(即记事本下面提到的程序中的Java Test),编译器会认为Test是其中main()所在的类,并且由于编译器加载了main()方法,因此静态块已准备就绪被执行。因此在这里,它将首先运行静态块,然后将看不到main()。因此它将给出“ exception”,因为执行时会出现异常。但是,如果我们不希望发生异常,可以通过
但是,从JDK7开始,main()函数是强制性的。编译器将首先验证main()是否存在。如果您的程序不包含main方法,则将收到错误 “在类中找不到main方法”。它将给出一个错误(字节代码验证错误,因为在它的字节代码中,main不存在),因为程序尚未运行。
注意:但这两个程序都将被编译,因为对于编译,我们不需要main()方法。