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

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 沿途小将 中级黑马   /  2014-8-12 22:00  /  1298 人查看  /  1 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

本帖最后由 沿途小将 于 2014-8-16 13:38 编辑

jvm提供的枚举是java.lang.Enum类的子类,封装了一些东西。
这里借用张孝祥老师的例子,进一步解析枚举本质。如下:
  1. public class TestEnum{
  2.   public final static TestEnum a=new TestEnum();
  3.   public final static TestEnum b=new TestEnum();

  4.   private TestEnum(){
  5.       
  6.   }
  7. }
复制代码

加入在其他地方使用TestEnum类,如:
  1. public class Test1{
  2.   public static void main(String[] args){
  3.    TestEnum te=TestEnum.a;//此处只能是TestEnum的属性成员a或者b,这就是枚举的雏形
  4.   }
  5. }
复制代码

用jvm提供的类enum实现枚举,如
  1. public enum TestEnum{
  2.   a,b;//最好在类的首部
  3.   private TestEnum(){//构造方法必须为private
  4.   }
  5.   public TestEnum Anext(){
  6.      return b;
  7.   }
  8. }
复制代码

那么就不难看出一下代码是怎么成立的了
  1. public class Test1{
  2.   public static void main(String[] args){
  3.    TestEnum te=TestEnum.a.Anext();
  4.   }
  5. }
复制代码

不知这个帖子,我对枚举的认识认识对不对,还望大家不吝赐教!

1 个回复

倒序浏览
抢座啦:)
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马