effective java在第四章類與接口
修飾符
相信很多程序員對修飾符這個概念都了解绿店,但其實修飾符這些概念中蘊含著很多信息,就好像好的代碼待错,你看到類名稍走,就知道他是什么意思,好的方法不需要太多注釋蜈七,看方法名和看方法參數(shù)就能知道他要做什么一樣秒拔。修飾符同樣包含有很多的信息。假如要是一個api設(shè)計者會對這些修飾符要求特別的嚴格
- private :私有 一般用在類的屬性,方法中代表某個類或者說某個類的實例能訪問它的權(quán)限砂缩;還有一種情況作谚,當一個類就想對一個類可見的情況下,應(yīng)該將該類 private class A 寫在 public class B 中
- protected 包訪問級別 跨包不能訪問庵芭,其實很重要的信息妹懒,應(yīng)該是申明 protected的方法,想被子類復(fù)寫
別的不說了双吆,沒意思 都知道了應(yīng)該
public final 和 public final static 這些修飾符一般是修飾不可變對象 或者 常量的眨唬。 不可變的也可能是引用。里面還是有可能變的.
example
public static final Thing[ ] VALUS = {....}好乐;
以上情況VALUES 公開后 還是能改變他的值匾竿, 有兩種方法能滿足你的要求 如下
private static final Thing [] PRIVATE_VALUES ={ ... };
public static final List<Thing> VALUES =Collections.unmodifiableList(Arrays.asList(PRIVATE_VALUES));
private static final Thing[ ] PRIVATE_VALUES={...};
public static final Thing[ ] values(){
return PRIVATE_VALUES.clone();
}
總結(jié)完畢。書看得越多蔚万,對編程的愛好越多