sách gpt4 ai đã đi

java - 单例模式 : static or static final?

In lại 作者:搜寻专家 更新时间:2023-11-01 00:55:38 38 4
mua khóa gpt4 Nike

将 Singleton 实例声明为 tĩnh 还是声明为 static final 更好?

请看下面的例子:

静态版本

public class Singleton {

private static Singleton instance = new Singleton();

private Singleton() {
}

public static Singleton getInstance() {
return instance;
}

}

静态最终版本

public class Singleton {

private static final Singleton INSTANCE = new Singleton();

private Singleton() {
}

public static Singleton getInstance() {
return INSTANCE;
}

}

1 Câu trả lời

在您的特定情况下,根本没有区别。你的第二个已经是effectively final .

Nhưng

抛开以下实现不是线程安全的事实,仅显示与 final 的区别。

在您的实例延迟初始化的情况下,您可能会感觉到不同。看看惰性初始化。

public class Singleton {

private static Singleton INSTANCE; /error

private Singleton() {
}

public static Singleton getInstance() {
if (INSTANCE ==null) {
INSTANCE = new Singleton(); //error
}
return INSTANCE;
}

}

关于java - 单例模式 : static or static final?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32371219/

38 4 0
Bài viết được đề xuất: php - 多维数组目录映射
Bài viết được đề xuất: ios - 将约束设置为以编程方式完成的 arc UIBezierPath
Bài viết được đề xuất: php - 什么是 CLI 服务器?
Bài viết được đề xuất: java - 通过 JNI 将数据从 C 传递到 Java 的快速方法
Giấy chứng nhận ICP Bắc Kinh số 000000
Hợp tác quảng cáo: 1813099741@qq.com 6ren.com