A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© java--周群 中级黑马   /  2014-8-14 23:17  /  3844 人查看  /  4 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

枚举和单例设计模式的区别,黑马面试有的

4 个回复

正序浏览
不太明白
回复 使用道具 举报
这都有啊,好像没有学到啊。。。。。。
回复 使用道具 举报
caobin 来自手机 中级黑马 2014-12-3 23:01:51
藤椅
这个知识点是视频中的吗?我才学到集合没映像啊
回复 使用道具 举报
  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. }
复制代码
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马