单例详解

来源:互联网 发布:淘宝怎么设置客服接待 编辑:程序博客网 时间:2024/05/29 04:58
(1)单例饿汉模式://饿汉式单例类.在类初始化时,已经自行实例化 
 2 public class Singleton1 {
 3     //私有的默认构造子
 4     private Singleton1() {}
 5     //已经自行实例化 
 6     private static final Singleton1 single = new Singleton1();
 7     //静态工厂方法 
 8     public static Singleton1 getInstance() {
 9         return single;
10     }

11 }


(2)懒汉模式://懒汉式单例类.在第一次调用的时候实例化 
 2 public class Singleton2 {
 3     //私有的默认构造子
 4     private Singleton2() {}
 5     //注意,这里没有final    
 6     private static Singleton2 single=null;
 7     //静态工厂方法 
 8     public synchronized  static Singleton2 getInstance() {
 9          if (single == null) {  
10              single = new Singleton2();
11          }  
12         return single;
13     }
14 }


(3)工厂模式:

interface IFactory{

public IProduct createProduct();}

Class Factory implements IFactory{

public IProduct createProduct(){return new Product();}}

Public class client{

Public Static void main (String [] args){IFactory factory=new Factory();

IProduct product=factory.createProduct();

product.ProductMethod();

}}


原创粉丝点击