gpt4 book ai didi

java - 为什么直接访问无法获取单例实例?

转载 作者:行者123 更新时间:2023-12-02 08:24:13 25 4
gpt4 key购买 nike

例如:

public class Singleton {
private static final Singleton INSTANCE = new Singleton();

// Private constructor suppresses
// default public constructor
private Singleton() {};

public static Singleton getInstance() {
return INSTANCE;
}
}

为什么我不能设置INSTANCE公开,并通过 Singleton.INSTANCE 访问它?会造成什么后果?

最佳答案

技术上可以,并且在这段代码中,它不会产生任何效果 - 它的行为是相同的。

我们使用 getter 的一般原因是:

  • 一个好习惯 - 人们会惊讶地看到你直接访问变量
  • 灵 active - 如果调用 getter 的代码周围有一百个位置,则很容易更改方法行为(例如每次都返回 new Singleton() 而不是访问静态变量)。如果那一百个地方直接访问变量就不那么容易了。

关于java - 为什么直接访问无法获取单例实例?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58947235/

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