gpt4 book ai didi

java - 我应该在这里使用全局变量吗?

转载 作者:行者123 更新时间:2023-12-02 07:36:17 26 4
gpt4 key购买 nike

为什么使用全局变量是一个坏主意?

我想让一个变量数组可供所有类使用。它将存储关键状态,因此不能将其设置为 const (final)。

你能告诉我一些其他(正确的)方法来做到这一点吗?

最佳答案

Why is it bad idea to use global variables?

因为它破坏了封装。所有代码都可以访问它们并修改它们。

I want to make array of variables avaiable for all the classes to use

如果您的所有代码只使用一个实例,则可以使用单例:

public class MyGlobalKeys {
private static final MyGlobalKeys globals = new MyGlobalKeys();

// disable construction outside of this class
private MyGlobalKeys() {}

public void getInstance() {
return globals;
}

public void addKey(String key, bool state) { ... }
public bool hasKey(String key) { ... }
// and so on ...
}

请注意,此示例尤其不是线程安全的 - 有关改进的实现方法,请参阅 Java Singleton Design Pattern

关于java - 我应该在这里使用全局变量吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14628831/

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