标签:单例模式
实现原理:
单例模式的实现类,由一个私有静态变量和一个返回该私有静态变量的Public静态方法组成。
实现类的构造方法设置为私有方法,每次调用getInstance时,进行判断,如果是第一次调用,则创建一个新实例,并且该实例赋值给静态变量。如果不是第一次调用,则直接返回已赋值过的静态变量,实现了始终只有一个实例的功能。
举例:
package java1200_88;
public class singleInstanceDemo {
//必须用static声明是一个静态的变量。
private static singleInstanceDemo sidemo = null;
private singleInstanceDemo(){
System.out.println("Instance only generate once");
}
//单例模式的关键,是必须要使用if(sidemo==null)的判断。
public static singleInstanceDemo getInstance(){
if(sidemo == null){
sidemo = new singleInstanceDemo();
}
return sidemo;
}
public static void main(String[] args){
//判断多次调用的是否是同一个实例。
System.out.println(singleInstanceDemo.getInstance().toString());
System.out.println(singleInstanceDemo.getInstance().toString());
System.out.println(singleInstanceDemo.getInstance().toString());
System.out.println(singleInstanceDemo.getInstance().toString());
}
}
运行结果:
Instance only generate once
java1200_88.singleInstanceDemo@139a55
java1200_88.singleInstanceDemo@139a55
java1200_88.singleInstanceDemo@139a55
java1200_88.singleInstanceDemo@139a55
标签:单例模式
原文地址:http://ironkui.blog.51cto.com/6419870/1755381