我有class
,其中只包含final
个变量。
E.g:
public class Constants
{
public static final String PREFIX = "some prefix";
public static final String SUFFIX = "some suffix";
//and so on...
}
此处推荐使用哪种类型 - interface
或final class
?
答案 0 :(得分:0)
你应该使用Final Class。
答案 1 :(得分:0)
如果您要创建一个仅包含全局可访问的最终常量的类,则应使用enum
。
答案 2 :(得分:0)
接口用于定义合同。在复制粘贴的代码中,应在最终类中定义这些常量。查看What is the best way to implement constants in Java?
答案 3 :(得分:0)
您放置它的全局常量实际上应该在属性文件中,因为它允许每个应用程序单独配置它们而无需修改代码。对于特定于对象的常量,我对Enum
与static final
的一般经验法则通常倾向于有多少元素以及这些元素的相关性。如果它们之间存在很大的关系,例如Suits
中的Cards
,那么我会选择枚举。如果它是用户的默认年龄,那么这将成为最终版本,因为没有目的使其成为枚举,因为它不需要在许多领域中被引用。这些只是对我接触它的每种方式的一些想法。