單例模式(Singleton)


3.3 單例模式(Singleton)

注意點:

  • 靜態私有成員變量。
  • 私有構造函數。
  • 靜態公有工廠方法,返回唯一對象實例,方法中判斷對象是否為空,如果為空則new一個新對象返回,俄國不為空,則直接將私有成員變量對象返回。
package com.a007;

public class StuNo
{
   //靜態私有成員變量
   private static StuNo instance=null;
   private String no;
   //私有構造方法
   private StuNo()
   {  
   }
   //靜態公有工廠方法,返回唯一實例
   public static StuNo getInstance()
   {
      if(instance==null)
      {
         System.out.println("新學號");
          instance=new StuNo();
          instance.setStuNo("20194074");
      }
      else
      {
         System.out.println("學號重復,獲得舊學號");
      }
      return instance;
   }
   
   private void setStuNo(String no)
   {
       this.no=no;
   }
   
   public String getStuNo()
   {
      return this.no;
   }
   
}

核心理解

單例模式做的事情是保證一個類有且只有一個實例對象!

  1. 首先要保證這個類的構造方法是私有的
  2. 其次要保證這個對象作為成員屬性是靜態私有的
  3. 最后提供一個公有的對外接口返回這個實例化的對象


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM