---------- android培训、java培训、java学习型技术博客、期待与您交流! ------------
1 什么叫单例
写一个类,这个类只有一个对象!不能有第二个对象出现。
2 如果让外界无法创建对象,并且类内部自己可以创建
写一个private构造器
在类内自己创建一个对象! -- private
3 如何让外界可以获取到这个唯一对象
写一个方法,然后让外界通过这个方法来获取对象。
这个方法是实例方法,还是静态方法?
静态的!因为外界无法获取我们的对象,实例方法只能通过对象才能调用。
而静态无需对象。
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; } } |
在方法内进行判断,如果还没有实例化,在方法内部去实例化它。
好处:可以延迟创建!可以在没有使用本类时,不去创建!
缺点:在多线程环境中,可能会出现多实例的可能!
不使用懒汉式!
本文详细介绍了单例模式的概念,包括如何实现单例、饿汉式与懒汉式的区别及其各自的优缺点。通过具体代码示例,帮助读者理解单例模式在实际应用中的作用。
663

被折叠的 条评论
为什么被折叠?



