分享

5.3.9 单例和枚举

 静听沙漏 2012-03-01

5.3.9 单例和枚举

按照《高效Java 第二版》中的说法:单元素的枚举类型已经成为实现Singleton的最佳方法。

为了理解这个观点,先来了解一点相关的枚举知识,这里只是强化和总结一下枚举的一些重要观点,更多基本的枚举的使用,请参看Java编程入门资料。

Java的枚举类型实质上是功能齐全的类,因此可以有自己的属性和方法。

Java枚举类型的基本思想是通过公有的静态final域为每个枚举常量导出实例的类。

从某个角度讲,枚举是单例的泛型化,本质上是单元素的枚举。

用枚举来实现单例非常简单,只需要编写一个包含单个元素的枚举类型即可。示例代码如下:

  1. /**
  2. * 使用枚举来实现单例模式的示例
  3. */
  4. public enum Singleton {
  5. /**
  6. * 定义一个枚举的元素,它就代表了Singleton的一个实例
  7. */
  8. uniqueInstance;
  9. /**
  10. * 示意方法,单例可以有自己的操作
  11. */
  12. public void singletonOperation(){
  13. //功能处理
  14. }
  15. }

使用枚举来实现单实例控制会更加简洁,而且无偿地提供了序列化的机制,并由JVM从根本上提供保障,绝对防止多次实例化,是更简洁、高效、安全的实现单例的方式。

    本站是提供个人知识管理的网络存储空间,所有内容均由用户发布,不代表本站观点。请注意甄别内容中的联系方式、诱导购买等信息,谨防诈骗。如发现有害或侵权内容,请点击一键举报。
    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多