设计模型-单例模型

单例模型:设计某个类只能有一个唯一对象,通过一个全局的访问点进行访问。

单例模型特点:

单例类只能有唯一实例。

单例类必须自己创建自己的唯一实例。

单例类有一个获取唯一实例的方法。

创建步骤:

创建唯一对象;

不能在其他类中去产生对象,构造函数私有化;

提供获取对象的唯一接口;

单例模型案例:

package com.tyschool.single;

public class SingletonTest01 {
 public static void main(String[] args) {
 //测试
 Singleton instance = Singleton.getInstance(); 
 Singleton instance2 = Singleton.getInstance(); 						 
 System.out.println(instance == instance2); // true
 System.out.println("instance.hashCode=" + instance.hashCode()); 		 
 System.out.println("instance2.hashCode=" + 													instance2.hashCode());
	}
}
  
class Singleton {
	//1. 构造器私有化,  外部不能  new 
    private Singleton() {}
	//2.本类内部创建对象实例
	private final static Singleton instance = new Singleton();
	//3. 提供一个公有的静态方法,返回实例对象
	public static Singleton getInstance() { 
        return instance;
	}
}

单例模型优、缺点:

减少内存开销,只有一个实例。

减少资源占用。

他是一个功能类。不能继承,没有接口。

Add a Comment

电子邮件地址不会被公开。 必填项已用*标注