gpt4 book ai didi

java - 静态初始化 block

转载 作者:bug小助手 更新时间:2023-10-28 10:40:06 26 4
gpt4 key购买 nike

据我了解,如果不能在一行中完成,则“静态初始化 block ”用于设置静态字段的值。

但我不明白为什么我们需要一个特殊的 block 。例如,我们将一个字段声明为静态的(没有赋值)。然后编写几行代码,为上面声明的静态字段生成并赋值。

为什么我们需要将这些行放在一个特殊的 block 中,例如:static {...}

最佳答案

非静态 block :

{
// Do Something...
}

每次调用一个类的实例。 静态 block 只会在类本身被初始化时被调用一次,无论你创建了多少该类型的对象。

例子:

public class Test {

static{
System.out.println("Static");
}

{
System.out.println("Non-static block");
}

public static void main(String[] args) {
Test t = new Test();
Test t2 = new Test();
}
}

打印出来:

Static
Non-static block
Non-static block

关于java - 静态初始化 block ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2420389/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com