———- android培训、java培训、java学习型技术博客、期待与您交流! ————
1 什么叫单例
写一个类,这个类只有一个对象!不能有第二个对象出现。
2 如果让外界无法创建对象,并且类内部自己可以创建
写一个private构造器
在类内自己创建一个对象! — private
3 如何让外界可以获取到这个唯一对象
写一个方法,然后让外界通过这个方法来获取对象。
这个方法是实例方法,还是静态方法/p>
静态的!因为外界无法获取我们的对象,实例方法只能通过对象才能调用。
而静态无需对象。
4 什么叫饿汉式
public class Single { private static Single instance = new Single();//创建了本类的唯一实例
/* *写一个private构造器,外界不能使用它 *编译器不会再为我们生成默认构造器 */ private Single() { }
public static Single getInstance() { return instance; } } |
在显示初始化中完成创建,这个动作在类被加载时已经完成。
好处:比较安全!
缺点:无论有没有人使用这个类的实例,都会直接先创建出来。时间长!
使用饿汉式
5 什么叫懒汉式
public class Single { private static Single instance;
private Single() { }
public static Single getInstance() { if(instance == null) { instance = new Single(); } return instance; } } |
在方法内进行判断,如果还没有实例化,在方法内部去实例化它。
好处:可以延迟创建!可以在没有使用本类时,不去创建!
缺点:在多线程环境中,可能会出现多实例的可能!
不使用懒汉式!
声明:本站部分文章及图片源自用户投稿,如本站任何资料有侵权请您尽早请联系jinwei@zod.com.cn进行处理,非常感谢!