如何在不使用 main 方法的情况下执行 Java 中的静态块?
VM 首先查找 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
广告
数据结构
网络
RDBMS
操作系统
Java
iOS
HTML
CSS
安卓
Python
C 编程
C++
C#
MongoDB
MySQL
JavaScript
PHP