我有一个class
只包含final
变量的。例如:
public class Constants
{
public static final String PREFIX = "some prefix";
public static final String SUFFIX = "some suffix";
//and so on...
}
这里推荐哪种类型 - aninterface
或 a final class
?
如果你正在创建一个只包含全局可访问的最终常量的类,你应该使用enum
.
接口用于定义合约。在您复制粘贴的代码中,这些常量应该在最终类中定义。检查在 Java 中实现常量的最佳方法是什么?
您应该为此使用最终类。
正如您所说的那样,全局常量实际上应该位于属性文件中,因为它允许每个应用程序单独配置它们而无需修改代码。对于对象特定的常量,我的一般经验法则Enum
与static final
我通常倾向于有多少元素以及这些元素的相关程度。如果它们之间有很大的关系,例如Suits
在甲板上,Cards
那么我会选择枚举。如果它是用户的默认年龄,那么这将成为最终年龄,因为没有必要将其设为枚举,因为它不需要在许多领域中引用。这些只是我对每种方法的一些想法。