1. 程式人生 > 其它 >Java基礎筆記32——單例模式

Java基礎筆記32——單例模式

單例模式:類在記憶體中僅存在一個例項

好處:

1.節省記憶體

2.共享物件


單例模式要點:

1.某個類中只能有一個例項

2.它必須自行建立這個示例

3.必須自行向整個系統提供這個例項


實現步驟:

1.建構函式私有化,用private修飾
2.自行建立例項
3.對外提供一個公有的方法,返回這個例項

餓漢式

package com.lqh.chapter03;

public class _31singleton {
    public static void main(String[] args) {
        Singleton test1 = Singleton.getInstance();
        Singleton test2 
= Singleton.getInstance(); System.out.println(test1);//地址一樣,得到的都是同一個物件 System.out.println(test2); } } //餓漢式 class Singleton { // 2.自行建立例項 private static Singleton instance = new Singleton(); // 1.建構函式私有化 private Singleton() { } public static Singleton getInstance() {
return instance; } }

懶漢式:

package com.lqh.chapter03;

public class _31singleton2 {
    public static void main(String[] args) {
        Singleton test1 = Singleton.getInstance();
        Singleton test2 = Singleton.getInstance();
        System.out.println(test1);//地址一樣,得到的都是同一個物件
        System.out.println(test2);
    }
}
//懶漢式 class Singleton2 { // 2.自行建立例項 private static Singleton2 instance = null; // 1.建構函式私有化 private Singleton2() { } public static Singleton2 getInstance() { if(instance == null) { instance = new Singleton2(); } return instance; } }


詳細內容:

https://www.runoob.com/design-pattern/singleton-pattern.html