单例模式:顾名思义,一个类只存在一个这样的实例。并通过这个唯一实例来向系统提供实例行为。单例模式是一种创建型模式。应用场合当然是系统需要唯一该类实例的场合了,比如说资源管理器等。
单例模式类图:
[img]http://dl.iteye.com/upload/attachment/364513/fa09579b-29a5-3b86-93c2-0c4cb6251314.jpg[/img]
具体实现代码:
测试类:
说明:这是一种单例模式的实现办法;还有另外一种就是类中不先创建实例,当请求该类实例时再去创建实例。但这种请求可能存在并发情况,这里就要求加锁来保证并发下的唯一实例了。
单例模式类图:
[img]http://dl.iteye.com/upload/attachment/364513/fa09579b-29a5-3b86-93c2-0c4cb6251314.jpg[/img]
具体实现代码:
package singletonPattern;
public class SingletonInstance {
private static SingletonInstance singletonInstance = new SingletonInstance();
private SingletonInstance(){};
public static SingletonInstance getSingletonInstance(){
return singletonInstance;
}
}
测试类:
package singletonPattern;
public class Singleton {
public static void main(String[] args){
SingletonInstance A= SingletonInstance.getSingletonInstance() ;
SingletonInstance B= SingletonInstance.getSingletonInstance() ;
System.out.println(A==B);
}
}
说明:这是一种单例模式的实现办法;还有另外一种就是类中不先创建实例,当请求该类实例时再去创建实例。但这种请求可能存在并发情况,这里就要求加锁来保证并发下的唯一实例了。