2025-02-10

    在面向對象的設計中,最關鍵的問題就是”將會變與不會變的東西分離開來”。
  
    有時為瞭不讓客戶程序員修改他們不該修改的東西,有時為瞭讓自己修改代碼之後不會讓客戶程序出現問題,就必須設置一些控制訪問符,來限定各自的訪問范圍。
    Java中的范圍控制符有4個,分別是private、package(默認的范圍)、protected、public,

權限范圍由小到大。

方法及屬性的訪問控制

    Private的訪問范圍是隻有在本類中才可以訪問

    Package的訪問范圍是在本package中的所有類都可以訪問

    Protected的訪問范圍是該類的子類,及和它在同一package中的類可以訪問

    Public在任何地方都可以訪問

類的訪問控制

    類的訪問權限隻能是package(默認)和public的
    為瞭控制不讓別人隨便訪問這個類,可以通過將這個類的構造函數設為private,這樣就隻有你就沒有人可以創建這個對象啦。

你可以用一個static(靜態)方法創建對象。

實例:
public  class Sample {
        private Sample (){
                System.out.println(“create a Sample “);
        }

        public  static Sample get Sample (){
                 return new Sample ();
        }

}

或者可以先定義創建一個private的static的對象,再通過一個public的static方法返回這個對象的引用,這樣做到話可以實現 singleton(單例)模式,隻會創建一個對象。

實例:
 public  class Sample {
        private static Sample s1 = new Sample ();
        public static Sample getSample(){
        return s1;
}}

發佈留言

發佈留言必須填寫的電子郵件地址不會公開。 必填欄位標示為 *