作者回复: 谢谢小伙伴给我这么高的评价,讲解的同时,配合代码演示,再加上动画,会让理解变得轻松。
作者回复: 不客气
作者回复: 把多种实现方案做对比,可以让理解更上一个层次哈。
作者回复: 枚举写法代码的例子:
/**
* 描述: 枚举式单例的写法
*/
public enum Singleton {
INSTANCE;
public void whatever() {
System.out.println("执行了单例类的方法,例如返回环境变量信息");
}
public static void main(String[] args) {
//演示如何使用枚举写法的单例类
Singleton.INSTANCE.whatever();
}
}
执行结果:
执行了单例类的方法,例如返回环境变量信息
作者回复: 分身术,哈哈,就像是单例模式的多个入口,最后都对应到同一个实例。加入动画,让课程更有趣。
作者回复: 枚举写法代码的例子:
/**
* 描述: 枚举式单例的写法
*/
public enum Singleton {
INSTANCE;
public void whatever() {
System.out.println("执行了单例类的方法,例如返回环境变量信息");
}
public static void main(String[] args) {
//演示如何使用枚举写法的单例类
Singleton.INSTANCE.whatever();
}
}
执行结果:
执行了单例类的方法,例如返回环境变量信息
作者回复: 鸣人本尊来了
作者回复: 枚举写法是懒加载的,在首次访问它之前,不会初始化其值,具体展开可以参考https://stackoverflow.com/questions/16771373/singleton-via-enum-way-is-lazy-initialized
作者回复: 在思路上,每个语言都是相通的,但是在具体实现上,差别还是比较大的。