单例模式(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