gpt4 book ai didi

java - 静态初始化 block 的替代方案是什么?

转载 作者:塔克拉玛干 更新时间:2023-11-01 22:48:34 27 4
gpt4 key购买 nike

我的项目中有一些开发人员喜欢静态初始化 block 。这有什么替代方案?此替代方案的缺点是什么?

public class BlockTest {
String test = new String();

static{
test = "test string";
}
}

据我所知,静态初始化 block 用于设置静态字段的值,如果它不能在一行中完成的话。但我不明白为什么我们需要一个特殊的 block 。这会导致可读性降低和一些困惑。

最佳答案

这个例子不好。首先它不编译,你不能从静态初始化 block 中分配一个实例变量。但如果它是正确的

public class BlockTest {
static String test = new String();

static{
test = "test string";
}

这没有意义,因为它等同于

public class BlockTest {
static String test = "test string";

但是这个静态初始化 block 别无选择

public class Object {

private static native void registerNatives();
static {
registerNatives();
}
...

关于java - 静态初始化 block 的替代方案是什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18097148/

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