黑马程序员技术交流社区

标题: 单例和枚举的不同是什么?在老师视频的哪一天第几个呀? [打印本页]

作者: 奋上    时间: 2014-8-13 23:26
标题: 单例和枚举的不同是什么?在老师视频的哪一天第几个呀?
找不到老师在视频中哪里讲的了

作者: 刷新召唤    时间: 2014-8-14 17:36
视频里面是没有的  在论坛里有总结 找找吧 我总结不好
作者: 奋上    时间: 2014-8-14 20:02
刷新召唤 发表于 2014-8-14 17:36
视频里面是没有的  在论坛里有总结 找找吧 我总结不好

谢谢的回复,我去找找看
作者: ximi    时间: 2014-8-14 23:16
本帖最后由 ximi 于 2014-8-14 23:20 编辑
  1. public class Test11 {

  2.         public static void main(String[] args) {
  3.                
  4.                 //调用:字母对象 -- 1
  5.                 System.out.println(Letter.A);
  6.                 //输出:com.itheima.Letter@3020ad
  7.                
  8.                 //调用:字母枚举 -- 2
  9.                 System.out.println(Letter2.A);
  10.                 //输出:A
  11.                
  12.                 //调用:字母单例模式 -- 3
  13.                 System.out.println(Letter3.getLetter3());
  14.                 //输出:com.itheima.Letter3@60e128
  15.                
  16.                 /*
  17.                  * 三者都可以调用,而[字母对象]和[字母枚举]是类似的
  18.                  * 只不过[字母枚举 ]是类似简化版
  19.                  * 如果字[字母枚举 ]里就一个A那么和[字母单例模式 ]就和类似了
  20.                  *
  21.                  * 具体了解可以参考以下几篇信息
  22.                  * 1.http://cardyn.iteye.com/blog/904534
  23.                  * 2.http://developer.51cto.com/art/201107/275031.htm
  24.                  * 3.http://www.iteye.com/topic/1116193
  25.                  */
  26.         }
  27.        
  28. }
  29. /**
  30. * 字母对象 -- 1
  31. */
  32. final class Letter{
  33.         //A 字母常量
  34.         public static final Letter A = new Letter();
  35.         //B 字母常量
  36.         public static final Letter B = new Letter();
  37.         //C 字母常量
  38.         public static final Letter C = new Letter();
  39.         /**
  40.          * 私有构造函数不可以外部实例化Letter
  41.          */
  42.         private Letter(){}
  43. }
  44. /**
  45. * 字母枚举 -- 2
  46. */
  47. enum Letter2{
  48.         A,B,C
  49. }
  50. /**
  51. * 字母单例模式 -- 3
  52. */
  53. class Letter3{
  54.         //1.初始化一个a字母对象
  55.         private static Letter3 a = new Letter3();
  56.         /**
  57.          * 私有构造函数不可以外部实例化Letter
  58.          */
  59.         private Letter3(){}
  60.         /**
  61.          * 调用获得字母对象,实现单例模式
  62.          * @return  字母对象
  63.          */
  64.         public static Letter3 getLetter3(){
  65.                 if (a == null){
  66.                         a = new Letter3();
  67.                 }
  68.                 return a;
  69.         }
  70. }
复制代码


作者: 奋上    时间: 2014-8-15 20:09
ximi 发表于 2014-8-14 23:16

谢谢你,给我的回复很多




欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2