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

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 沟门大杏 中级黑马   /  2014-8-4 12:48  /  1091 人查看  /  3 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

1 枚举类型等效于定义static finally 常量
2. 枚举类型可以有自己的属性(参数)和方法
3. 枚举类型可以以独立的文件存在
最简单的枚举类型:
public enum Belle {
    para1,  para2,  para3, para4;
}
调用:
        for(Belle belle : Belle.values()) { //遍历枚举中所有的对象
            System.out.println(belle.name());//输出每一个枚举的名称
        }
要取出某个指定名称的枚举成员 可用 Belle.para1(注意:因为枚举对象默认是static final 其成员对象都是stastic 属性, 直接调用),也可以用 Belle.valueOf("para1")
稍复杂的枚举类型:
public enum Belle {
       para1("this is para1"),
       para2("this is para3"),
       para3("this is para3"),
       para4("this is para4");
    public final String str; //定义枚举成员属性
    Belle(String str) { //内部方法设定枚举成员属性
       this.str = str;
    }
}
这样就每一个枚举成员就有了属性,可以定义多个属性,每个属性必须在内部方法中set(例如this.str = str;)
调用时用这样的格式取值 belle.str
枚举成员就的属性可以不光是字符串,可以是任意对象
更复杂的枚举类型:
public enum Belle {
    para1("this is para1") {
       public String event() { //实现枚举成员的方法
           return "i am a mtthod of para1";
       }
    },
    para2("this is para3") {
       public String event() { //实现枚举成员的方法
           return "i am a mtthod of para2";
       }
    },
    para3("this is para3") {
       public String event() { //实现枚举成员的方法
           return "i am a mtthod of para3";
       }
    };
    public final String str; //定义枚举成员属性
    Belle(String str) { //内部方法设定枚举成员属性
       this.str = str;
    }
    abstract String event();//定义枚举成员的方法
}
这样就每一个枚举成员就有了自己的方法,可以定义多个方法,方法必须以抽象方法的形式作声明(例如 abstract String event();) 一个方法一旦定义了就必须在每一个枚举成员中得到实现。
调用方法时用这样的格式 belle.event();

3 个回复

倒序浏览
顶一个,不错
回复 使用道具 举报
顶一个,学习学习了
回复 使用道具 举报
还不错哦,,最后一个体现了多态的原理哦,:lol
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马