Java中枚举实现单例模式
2023-09-27 14:21:32 时间
public enum ReYoSingleton { INSTANCE; private SingletonClass instance; ReYoSingleton() { this.instance = new SingletonClass(); System.out.println("枚举类构造函数"); } public SingletonClass getInstance() { return this.instance; } } public static class SingletonClass { int i = 0; public SingletonClass() { System.out.println("SingletonClass被初始化 " + ++i + " 次"); } } public static void main(String[] args) { SingletonClass instance1 = ReYoSingleton.INSTANCE.getInstance(); SingletonClass instance2 = ReYoSingleton.INSTANCE.getInstance(); System.out.println("instance1 == instance2: " + (instance1 == instance2)); }
运行结果:
当然也可以这样写:
public enum Singleton { INSTANCE; public void doSomething() { System.out.println("doSomething"); } }
相关文章
- Java反射机制详解(3) -java的反射和代理实现IOC模式 模拟spring
- Java描述设计模式(15):责任链模式
- Java描述设计模式(02):简单工厂模式
- Java版Word开发工具Aspose.Words功能解析:添加和验证PDF文档中的数字签名
- C03-Java同步实践加强班第5周上机任务
- 那些年,我们一起读过的《JAVA与模式》
- java设计模式---责任链模式详解
- java实现23种设计模式-策略者模式
- java实现23种设计模式-装饰者模式
- Java单例模式(Singleton)以及实现
- 【Java线程】锁机制:synchronized、Lock、Condition
- JAVA微信扫码支付模式二功能实现完整例子
- JAVA语言的本质优势
- java面向接口编程之适配器模式
- java反射获取class
- Java魔法堂:JVM的运行模式
- Java学习---RMI 技术分析[Hessian]
- JAVA NIO non-blocking模式实现高并发服务器(转)
- 《Java设计模式》之装饰模式
- 蓝桥杯VIP试题 之 基础练习 FJ的字符串- JAVA
- 【转】动态字节码技术跟踪Java程序
- Java 仓储模式
- Java接口学习(接口的使用、简单工厂、代理模式、接口和抽象类的区别)
- JAVA设计模式之策略模式