gpt4 book ai didi

java - 最终静态与非最终静态变量?

转载 作者:塔克拉玛干 更新时间:2023-11-02 08:53:13 27 4
gpt4 key购买 nike

有人知道这两种方法的区别吗?

public class SingleTone {

private static final instance = new SingleTone();

private SingleTone() {
}
public [static] SingleTone getinstance() {
return instance;
}
}

public class SingleTone {

private static instance = new SingleTone();

private SingleTone() {
}
public [static] SingleTone getinstance() {
return instance;
}
}

我知道最终静态变量是线程安全的,但是我找不到非最终静态变量的任何问题。(注意:我正在寻找最终静态变量与非最终静态变量的区别,所以请不要建议如何实现单例设计模式。我知道有一种枚举方法。)

已编辑:我在方法上遗漏了 static 关键字,现在已修复!

最佳答案

除了可能的编译器优化外,没有太大区别。在任何一种情况下,因为它是私有(private)的,没有 setter ,所以没有任何东西可以修改它,所以它是否是 final 并不特别重要。但是,在这两种情况下,您的 getInstance() 方法都需要声明为 static

关于java - 最终静态与非最终静态变量?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15485290/

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