Java 常量类中的多个接口
使用多个接口在单个接口内声明属于不同层(如控制器、服务、DAO等)的常量是否是一种良好的做法,以便根据常量所属的层分离常量,例如如下所示:Java 常量类中的多个接口,java,Java,使用多个接口在单个接口内声明属于不同层(如控制器、服务、DAO等)的常量是否是一种良好的做法,以便根据常量所属的层分离常量,例如如下所示: public interface TestConstants { interface UIConstants { public static String FIRST_UI_CONSTANT = "FIRST"; public static String SECOND_UI_CONSTANT = "SECOND
public interface TestConstants
{
interface UIConstants
{
public static String FIRST_UI_CONSTANT = "FIRST";
public static String SECOND_UI_CONSTANT = "SECOND";
}
interface ServiceConstants
{
public static String FIRST_SVC_CONSTANT = "FIRST";
public static String SECOND_SVC_CONSTANT = "SECOND";
}
interface DAOConstants
{
public static String FIRST_DAO_CONSTANT = "FIRST";
public static String SECOND_DAO_CONSTANT = "SECOND";
}
}
看起来很漂亮,不是吗。一种着色体系结构 然而,它也有它的缺点
class C implements TestConstants.UIConstants;
... FIRST_UI_CONSTANT
就我个人而言,我更喜欢
class C implements TestConstants;
... UIConstants.FIRST
如上所述,枚举会更好。我认为
接口
应该用于定义契约,而不是常量。使用枚举定义常量,如果不能使用枚举,请使用标记为final
且具有私有构造函数的普通java类,并将所有字段/常量定义为public static final
@VinodMadyalkar。这正是有效的Java第二版第19项“仅使用接口定义类型”中所描述的。您能详细说明为什么需要这些常量吗?你在用它们干什么?@All:抱歉刚刚更新了我的问题。。一个接口中有多个接口。相同的注释:不要为此使用接口。使用最终的、不可实例化的静态(如果嵌套)类。