码迷,mamicode.com
首页 > 其他好文 > 详细

单例模式

时间:2017-12-17 16:50:40      阅读:97      评论:0      收藏:0      [点我收藏+]

标签:new   private   创建多个对象   return   一个   类加载   zed   对象创建   方法   

1.单例模式
确保一个类只能创建一个实例。
2.实现:
不能让外界创建对象,所以构造器要私有化。
提供获得单例对象的方法。(所以这个方法是公开的,并且这个方法里New出了对象)
3.实例:
饿汉模式:类加载时就创建对象,不管用不用,对象已经创建好了。线程安全(初始化就把对象创建好了,不会有多个线程创建多个对象的情况)
public class Singleton{
 private Singleton(){}
 private static Singleton instance =new Singleton();
 public static Singleton getInstance(){
         return instance;
 }
}
懒汉模式(懒加载):用到的时候才创建,加synchronized防止多线程时创建多个实例
public class Singleton{
  private Singleton(){}
  private static Singleton instance;
  public static synchronized Singleton getInstance(){
      if(instance==null){
        instance=new Singleton();    
    }
    return instance;
  }
}
4.总结:
单例模式由于构造器是私有化的,所以不能被继承

单例模式

标签:new   private   创建多个对象   return   一个   类加载   zed   对象创建   方法   

原文地址:http://www.cnblogs.com/inspred/p/8052393.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!