java — 单例

java —— 单例模式 singleton

一、 单例模式 singleton 

  单例模式,在我看来,就是一个类,可以称它为 单例类 ,单例类有以下特点

    • 单例类在堆内存中只会存在一份,即永远只有一个固定不变的堆内存地址
    • 单例类是自己主动实例化
    • 工程中所有的类 都可以访问到单例类

二、 单例类的创建

    • 拥有私有的构造方法
    • 一个私有、静态的 实例化,只供内部调用
    • 提供一个公开、静态的方法,用来返回 内存变量
 1 public class Singleton {
 2     // 定义了一个私有、静态的 实例化
 3     private static Singleton instance = new Singleton(); 
 4 
 5     private Singleton(){
 6         // 私有的无参构造方法,避免被其他类 调用实例化
 7     }
 8 
 9     // 一个公开 静态的方法,返回了上面存着内存地址的变量
10     public static Singleton getInstance(){
11         return instance;
12     } 
13 }    

 或者

 1 public class Singleton {
 2   
 3     private static Singleton uniqueInstance = null;
 4  
 5     private Singleton() {
 6        // 私有的无参构造器
 7     }
 8  
 9     public static Singleton getInstance() {
10        if (uniqueInstance == null) {
11            uniqueInstance = new Singleton();
12        }
13        return uniqueInstance;
14     }
15 }

猜你喜欢

转载自www.cnblogs.com/whc0305/p/10229008.html