1. 程式人生 > 實用技巧 >實體常量類、內部常量類以及列舉類的區別

實體常量類、內部常量類以及列舉類的區別


一、實體常量類
     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、列舉構造方法是私有的,無法繼承修改,預設私有化無參構造方法,
       可用於列舉單例