單例模式理解:php
整個系統中有這麼一個Class類,這個類永遠只能只有一個實例的存在,稱之爲單例模式。html
原理:數據庫
這個類在構建類時已經在裏面實例化對象,將構造函數也改成私有的,因此沒法經過NEW來實例化新對象,函數
須要在類裏面有一個方法返回實例化的對象,因此用戶每次調用這個方法都返回最早的那個對象。工具
使用場景:htm
1.須要頻繁的進行建立和銷燬的對象;對象
2.建立對象時耗時過多或耗費資源過多,但又常常用到的對象;blog
3.工具類對象;資源
4.頻繁訪問數據庫或文件的對象。get
擴展閱讀:http://www.javashuo.com/article/p-avbufjwi-cu.html
代碼實例----餓汗式---靜態常量:
public class user { //實例化 private static user obj=new user();//1 //構造函數改成私有沒法再外界實例化 private user() { } //屬性 public string name { set; get; } //獲取對象方法,因此每次調用該方法都返回 1 處的對象,保證系統中只能有一個對象存在。 public static user getUser() { return obj; } }
調用:
user u = user.getUser(); u.name = "php"; user u2 = user.getUser();//到這裏 u2.name已經爲php u2.name = "php2"; //意思是u和u2都指向Class裏面的那個實例化對象