单例设计模式

单例设计模式:保证一个类仅有一个实例,并提供一个访问它的全局访问点。

  1. 构造方法私有化

  2. 声明一个本类对象

  3. 给外部提供一个静态方法获取对象实例

两种实现方式:

  1. 饿汉式

  2. 懒汉式

package com.main;

//单例设计模式
//通常在工具类的设计中使用
//当一个类中没有属性(对象的状态)
//该类作为工具类使用非常频繁
//1. 饿汉式
//2. 懒汉式
public class YourTest {

	public static void main(String[] args) {
		Single s = Single.getInstance();
		s.method();
		Single2 s2 = Single2.getInstance();
		s2.method();
	}

}

// 饿汉式,在类初始化时,已经自行实例化自己
class Single {
	private static Single single = new Single();

	private Single() {
	}// 构造方法私有化,为了防止在本类外部实例化对象

	public static Single getInstance() {
		return single;
	}

	public void method() {
		System.out.println("method");
	}
}

// 懒汉式,在第一次调用的时候实例化自己
class Single2 {
	private static Single2 single2 = null;

	private Single2() {
	}// 构造方法私有化

	public static Single2 getInstance() {
		if (single2 == null) {
			single2 = new Single2();
		}
		return single2;
	}

	public void method() {
		System.out.println("method2");
	}
}

你可能感兴趣的:(单例设计模式)