單例模式是一種常用的軟件設計模式。在它的核心結構中只包含一個被稱爲單例類的特殊類。通過單例模式可以保證系統中一個類只有一個實例而且該實例易於外界訪問,從而方便對實例個數的控制並節約系統資源。如果希望在系統中某個類的對象只能存在一個,單例模式是最好的解決方案。
下面將以一個產生校長名字的類來爲大家演示單例模式的結構,代碼的結構非常簡單,最後我們只需要通過UI中Button的調用即可。
package singlemode;
public class Headmaster {
private static Headmaster instance; //定義一個靜態的單例類型變量,表明無論調用該類多少次產生的都只可能是這個對象
private static String name;
private Headmaster()
{
name = "XXX";
}
public static Headmaster getInstance() //對象的get方法,通過該方法獲取對象信息
{
if(instance == null)
instance = new Headmaster();
return instance;
}
public String getName()
{
return name;
}
}
對應的類圖: