Java基礎筆記32——單例模式
阿新 • • 發佈:2021-09-17
單例模式:類在記憶體中僅存在一個例項
好處:
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