JAVA设计模式之单例模式:内部静态类(原文)
- 单例模式最初的定义出现于《设计模式》(艾迪生维斯理, 1994):“保证一个类仅有一个实例,并提供一个全局访问点。”
- JAVA中单例模式定义:“一个类有且仅有一个实例,并且自行实例化向整个系统提供。”[百度百科]
经典示例
package com.djq.singleton;
public class Singleton {
private Singleton(){}
private static class LazySingleton{
private static final Singleton singleton = new Singleton();
}
public static final Singleton getInstance(){
return LazySingleton.singleton;
}
}
三个要点- 某个类只能有一个实例;
- 它必须自行创建这个实例;
- 它必须自行向整个系统提供这个实例。
从具体实现角度来说,就是以下三点:一,单例模式的类只提供私有的构造函数;二,类定义中含有一个该类的静态私有对象;三,该类提供了一个静态的公有的函数用于创建或获取它本身的静态私有对象。
原文作者:Dolphix.J Qing