我不知道,您认为宣布一组常数的最佳(或最公认)方式是什么?
通常,我创建一个名为Constants的静态类,并且假设我希望对象可以是type_a或type_b或type_c。什么是正确的方式?
public class Constants{
public static enum TYPE{ A, B, C};
}
public class Constants{
public static int TYPE_A = 0;
public static int TYPE_B = 1;
public static int TYPE_C = 2;
}
public class Constants{
public static int type[] = new int {"A", "B", "C"};
}
public class Constants{
public class Type{
public static int A = 0;
public static int B = 1;
public static int C = 2;
}
}
你说什么?
由于
答案 0 :(得分:1)
你可以让interface
包含常量,但这是一个该死的反模式。
您可以让class
包含常量,您可以使用MyClass.constant
来访问值,但这又是一个反模式。
现在上面反模式的解决方案是使用static import
,这在这种情况下适合使用。
Enum
,它提供了许多有趣的东西,最重要的是ThreadSafety
。所以请考虑这是一个建议。 Enum
原因为什么?:
答案 1 :(得分:0)
在Java中,您可以通过两种方式创建常量 1.在变量之前使用静态最终修饰符
public static final int CONSTANT = 100;
现在,如果有很多类访问它,你可以在界面内声明它。
2.第二种选择是使用枚举。我更喜欢这个,因为它有许多优点。您可以拥有构造函数和方法,还可以使用内置API来执行许多操作。它们也是线程安全的。所以我会推荐枚举。
答案 2 :(得分:-1)
我通常只为我的常数做public static final int FOO = 42
。
如果我有多个类并且常量在Bar类中,我可以从任何具有Bar.FOO
的类访问它们(如果我导入或使用完全限定的名称,甚至可以从包外部访问它们)。 / p>