Java複習_static用例_單例模式_懶漢式
阿新 • • 發佈:2021-01-07
【延時載入】
GiantDragon.java:
package com.java.charactor; public class GiantDragon { //將構造方法改造為私有化,使得該類無法在外部通過new例項化 private GiantDragon(){ } //準備一個類屬性,暫時指向null private static GiantDragon instance; //提供給呼叫者獲取該類物件的方法(只能獲取唯一一個該類物件) public static GiantDragon getInstance(){//第一次訪問的時候,發現instance沒有指向任何物件,則這時例項化一個物件 if(null == instance){ instance = new GiantDragon(); } return instance; } }
TestGiantDragon.java:
package com.java.test; import com.java.charactor.GiantDragon; public class TestGiantDragon { public static void main(String[] args) {//通過類名來呼叫類方法 GiantDragon g = GiantDragon.getInstance(); GiantDragon g1 = GiantDragon.getInstance(); GiantDragon g2 = GiantDragon.getInstance(); //其實都是同一個物件 System.out.println(g==g1); System.out.println(g1==g2); System.out.println(g==g2); } }