一、实体常量类 private static final String Success = "成功"; private static final String Fail = "失败"; 1、JDK编译时,直接把常量编译到使用的地方。在修改变量值后,其它类有可能会出现 编译到旧常量值的问题。 2、只能用equals比较,性能较低。无法保证类型是否合法,限定类型值。 3、如果使用了private,限定了只能当前类的拥有者才可以修改,如果使用public, 则子类可以继承修改,父类并不知情 二、内部常量类 private static final String Success = new String("成功"); private static final String Fail = new String("失败"); 1、JDK编译时,直接把常量编译到引用类地方。 2、可以使用==进行比较,提高效率。 三、枚举 1、类型限定,性能较高,推荐使用。 2、枚举构造方法是私有的,无法继承修改,默认私有化无参构造方法, 可用于枚举单例