【发布时间】:2014-06-22 11:14:23
【问题描述】:
在 Java 中创建程序或包范围的变量的标准方法/最佳实践是什么?
我想设置一些可供多个类访问的全局变量。这些全局变量的示例包括布尔标志 testModeOn、语言设置、当前本地服务器、时间显示格式等。根据其他一些问题(即this one),没有任何全局变量,但有一些使用接口(不推荐?)或类的解决方法。由于原始发帖人没有说明他们的情况,他们几乎得到了所有答案,我想专门询问程序配置变量。
创建一个类/包/接口然后将其导入我的工作类/包是否更好?尝试使用单独的类或接口实现这些变量时,我应该注意什么?有没有其他方法可以伪造包级别的变量,因为 Java 显然本身并不这样做?
注意:除非重新编译程序,否则这些变量可能不会改变。
【问题讨论】:
-
单例模式。
-
“单例模式”是指我应该创建一个只创建一个实例/对象的类?
-
@Smutje 没办法。永远不要使用单机 c2.com/cgi/wiki?SingletonsAreEvil 和 i.stack.imgur.com/Dzdio.png
-
@Zarathustra “不要实例化第二个实例。”很好,我认为从来没有处理过现实生活中的问题——有时最好强制执行某事,而不是“抱最好的希望”。
-
@Smutje 我不同意单例模式在这里是相关的。使用
static字段意味着根本不需要创建对象实例,因此甚至不需要 Singleton 对象。
标签: java variables global-variables