java創建型設計模式——單例模式

  1. 模式理解:單例模式只希望對象只能被創建一次,就是隻能new一次,就是說我們不能直接通過構造方法來創建對象,所以我們先將構造方法私有化,再在自己的類裏直接new一個私有化靜態對象,最後通過一個靜態的方法來調取new出來的私有化靜態對象,這樣外部類就可以通過這個類,直接調取這個靜態方法,從而獲得這個靜態的私有化new出來的對象。
  2. 運用場景:相當於一個全局變量,只不過這個變量是個對象而已,比如日誌管理,數據庫對象創建等
  3. 代碼示例:

//構造一個只能實例化一次的對象:
public class Log {

    //先私有化構造方法
    private Log(){};

    //在創建私有化靜態對象
    private static Log log=new Log();

    //通過靜態方法來獲得靜態對象
    public static Log getLog(){
        if (log!=null) {
            return log;
        }
        return null;
    }
   
    public void show(){
        System.out.println("單例模式");
    }
}

//編寫測試用例:

public class Main {

    public static void main(String[] args) {
        Log oneLog=Log.getLog();
        Log twoLog=Log.getLog();
        if (oneLog==twoLog) {
            System.out.println("地址相同,是同一個對象");
        }
    }
}


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章