首先看看这两种写法的区别吧。
final类:
public final class Constant {
private Constant() {}
public static final String IS_ENABLE = "1";
public static final String IS_DISABLE = "0";
}
interface:
public interface Constant {
String IS_ENABLE = "1";
String IS_DISABLE = "0";
}
各位看官们,是不是觉得接口的形式非常的简洁?因为java中接口的成员变量默认都是public static final类型的,所以可以缺省,看起来非常适合用作常量的定义。
但是这个得看个人喜好?有的人就都接口的形式又一点的排斥?
如果要说接口的和final类的区别,就在于接口是可以被实现的,而final类可以将构造函数声明成private,防止被实例化。所以final类就很完美,这也是有部分人不喜欢interface的原因?其实我也不喜欢!
看到有人用,我就纠结了起来,一个项目不同人又不同的写法还是很恶心的。