单例是面试题中经常考的,需要手写出来,只是下列的太简单了,面试会不及格的
饿汉式单例,一开始就new一个新的Calendar(),这个类是自己写的,不是java自带的日历类,不要混为一谈了
public class Calendar {
private final static Calendar CALENDAR = new Calendar();
private Calendar(){ }
public static Calendar getInstance(){
return CALENDAR;
}
}
懒汉式单例,一开始只是新建一个静态变量,并不对其进行初始化
public class Singleton {
// 需要一个静态的成员变量保存咱们的实例
private static Singleton SINGLETON;
// 私有化构造器,不让外边new
private Singleton(){ }
// 持有一个方法,这个方法能返回内存当中的实例
public static Singleton getInstance(){
if (SINGLETON == null){
SINGLETON = new Singleton();
}
return SINGLETON;
}
}
测试类:
public class Test {
public static void main(String[] args) {
Calendar instance = Calendar.getInstance();
Singleton singleton = Singleton.getInstance();
}
}
本文介绍了单例模式的两种实现方式:饿汉式和懒汉式。饿汉式单例在类加载时就创建实例,而懒汉式单例则在首次调用时才创建实例。通过对比这两种方式,帮助读者理解单例模式的应用场景。
2051

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



