1. 程式人生 > 實用技巧 >Java複習_static用例_單例模式_懶漢式

Java複習_static用例_單例模式_懶漢式

【延時載入】

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); } }