实体常量类、内部常量类以及枚举类的区别


一、实体常量类
     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、枚举构造方法是私有的,无法继承修改,默认私有化无参构造方法,
       可用于枚举单例

 

posted @ 2020-12-01 20:20  donleo123  阅读(410)  评论(0)    收藏  举报