单例模式,用来保证一个对象只能创建一个实例,同时,它还提供了对实例的全局访问方法。
单例模式只由单个类组成,实现简单。为确保单例实例的唯一性,构造器都要被声明为私有(private),然后通过声明静态(static)方法实现全局访问,获得该单例实例。
/**
* 单例模式
* 所有的单例模式的(1)构造器都要被声明为私有的private,
* (2)再通过声明静态方法static实现全局访问获得该单例实例
*/
package designPatterns;
public class Singleton {
private static Singleton instance;
// 构造器私有
private Singleton() {
System.out.println("单例模式构造函数");
}
// 通过静态方法实现全局访问获取该单例示例
public static Singleton getInstance() {
// 如果实例不存在,则构造一个实例;否则直接返回已有实例。
if(instance==null) {
instance = new Singleton();
}
return instance;
}
// 普通方法
public void doSomething() {
System.out.print("单例模式的一个普通方法");
}
public static void main(String[] args) {
Singleton sin = Singleton.getInstance();
sin.doSomething();
}
}
输出结果:
单例模式构造函数
单例模式的一个普通方法

本文深入讲解了单例模式的概念及其实现方式。单例模式确保一个类只有一个实例,并提供一个全局访问点。构造器被声明为私有,通过静态方法实现全局访问。文章通过具体代码示例展示了单例模式的使用。
982

被折叠的 条评论
为什么被折叠?



