单例模式



Java代码 
  1. //饿汉模式  
  2. public class Singleton {   
  3. private Singleton(){}   
  4.       //在自己内部定义自己一个实例,是不是很奇怪?   
  5.       //注意这是private 只供内部调用   
  6.       private static Singleton instance = new Singleton();   
  7.       //这里提供了一个供外部访问本class的静态方法,可以直接访问     
  8.       public static Singleton getInstance() {   
  9.         return instance;      
  10.       }   
  11.    }   

 

Java代码 
  1. //懒汉模式  
  2. public class Singleton {   
  3.   private static Singleton instance = null;   
  4.   public static synchronized Singleton getInstance() {   
  5.   //这个方法比上面有所改进,不用每次都进行生成对象,只是第一次        
  6.   //使用时生成实例,提高了效率!   
  7.   if (instance==null)   
  8.     instance=new Singleton();   
  9. return instance;     
  10. }   
  11. }   

其实形式:定义一个类,他的构造函数为private,其他所有方法为static。以上第一种比第二种更安全


你可能感兴趣的:(单例模式)