如何在没有主方法的情况下在 Java 中执行一个静态块?
Java 虚拟机首先查找 main 方法(至少是最新版本),然后开始执行程序,包括静态块。因此,你无法在没有 main 方法的情况下执行静态块。
示例
public class Sample { static { System.out.println("Hello how are you"); } }
由于上述程序中没有 main 方法,如果你对其进行编译和执行,你将得到一条错误消息。
C:\Sample>javac StaticBlockExample.java C:\Sample>java StaticBlockExample Error: Main method not found in class StaticBlockExample, please define the main method as: public static void main(String[] args) or a JavaFX application class must extend javafx.application.Application
如果你想要执行静态块,你需要有 main 方法,并且类的静态块在 main 方法之前被执行。
示例
public class StaticBlockExample { static { System.out.println("This is static block"); } public static void main(String args[]){ System.out.println("This is main method"); } }
输出
This is static block This is main method
广告