單例模式:用於保證在程度的運行期間某個類有且只有一個實例
優勢:在於盡可能節約資源
應用場景:還不太懂,希望懂的前輩們補充
————————————————————
通過修改構造方法的訪問權限實現單例模式
比如
package com.lixiyu;
public class TestExample1{
public static void main(String[] args){
System.out.println("創建神馬1對象:");
SHENMA shenma1=SHENMA.getInstance();//創建對象
shenma1.getName();//輸出名字
System.out.println("創建神馬2對象:");
SHENMA shenma2=SHENMA.getInstance();//創建對象
shenma2.getName();//輸出名字
System.out.println("創建神馬3對象:");
SHENMA shenma3=SHENMA.getInstance();//創建對象
shenma3.getName();//輸出名字
}
}
這時需要創建一個SHENMA的CLASS類來說明
package com.lixiyu;
public class SHENMA {
private static SHENMA shenma=null;//聲明一個類SHENMA的引用
private SHENMA(){//將構造方法私有化
}
public static SHENMA getInstance(){
if(shenma==null){
shenma=new SHENMA();
}
return shenma;
}
public void getName(){
System.out.println("這是神馬:好東西");
}
}
只需要new一次創建實例就可以解決問題了
public static SHENMA getInstance(){
if(shenma==null){
shenma=new SHENMA();
}
return shenma;
}
單例模式還有很多種寫法,這只是其中之一,在以後學習裡遇到再記錄下來。