我需要在Java中创建几个变量。我的要求如下。
变量应该在项目初始化时初始化。但是,变量应该有一个默认值(如果一个变量没有初始化应该包含默认值)。
- 醇>
需要通过代码访问变量。
我需要在Java 8中使用正确的方法。
答案 0 :(得分:3)
如果您创建一个包含public static
成员的Resources类,则可以通过引用它们来访问它们,例如Resources.myGlobalData
,导入该类的任何位置。
所以,(未经测试但应该准确)
public class Resources {
public static int count = 1; // default initialization to 1
}
public class Main {
public static void main(String[] args) {
Resources.count++;
System.out.println(Resources.count); // prints 2
}
}
但是,我建议你重新考虑你的设计,因为只要你有可变的全局状态,当全局状态(或者没有)改变时,你就会要求提出错误。
如果您确实想要生成类似C风格的#DEFINE
预处理器宏的编译时常量,则可以使用public static final
个字段。这些不会带来全局状态的问题,因为final
关键字使它们不可变。 (大多数编译器会在编译时内联该值,就像用{C>样语言实现#DEFINE
一样。)
答案 1 :(得分:1)
我假设变量应该具有原始类型?并且实际上有所不同(即,您不是在寻找常数)?如果您正在使用Spring,那么您可以将变量作为bean类的成员变量,然后将该bean自动装配到您想要访问它的任何类中。