Ans*_*shu 79 java static-block initialization-block
可能重复:
静态初始化块
请考虑以下代码:
public class Test {
{
System.out.println("Empty block");
}
static {
System.out.println("Static block");
}
public static void main(String[] args) {
Test t = new Test();
}
}
Run Code Online (Sandbox Code Playgroud)
我们知道首先执行静态块,然后执行空块.但问题是我从来没有能够理解空块的实际效用.任何人都可以展示一个真实的例子 -
Hov*_*els 107
他们有两个非常不同的目的:
请注意,在stackoverflow中已经多次回答了这个问题,您可以搜索和查看类似的问题及其答案.例如:static-initialization-blocks
ars*_*jii 24
只要您的类加载,就会执行静态块.每当您实例化类时,都会执行空块.尝试比较这些:
1.
public static void main(String[] args) {
Test t = new Test();
}
Run Code Online (Sandbox Code Playgroud)
2.
public static void main(String[] args) {
}
Run Code Online (Sandbox Code Playgroud)
输出:
1.
静态块
空块
2.
静态块
在Layman的话中,无论你创建的那种类型的对象有多少,静态块只会被调用一次.