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

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 钱程永 中级黑马   /  2014-7-17 16:43  /  843 人查看  /  8 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

那位大神可以言简意赅的说明一下,枚举的具体用法或作用?

8 个回复

倒序浏览
可以自己去百度然后实践一下,这样印象比较深刻
回复 使用道具 举报
枚举类enum就是对象只能在几个固定的值里面取,例如星期只能从星期一到星期曰,当我们处理这类问题时,普通方法会很麻烦,所以就用到枚举,
回复 使用道具 举报
看一下我刚学习的代码  
简单的说  用关键字 Enum 创建的类  ,这个类中的每个元素  都是 对象 如下面的   RED  GREEN  YELLOW  DOU 都是对象  
package cn.itcast.day1;
public class EnumText {

        public static void main(String[] args) {
//                 TODO Auto-generated method stub
              WeekDay1 weekDay = WeekDay1.MON;
              System.out.println(weekDay.nextDay());
              
              WeekDay weekDay2 = WeekDay.FRI;
              System.out.println(weekDay2.ordinal());
              System.out.println(WeekDay.valueOf("SUN"));
              System.out.println(WeekDay.values().length);
              
              
  }//给枚举定义构造方法      必须放在对象之后    必须是私有的
        public enum WeekDay{
               
                SUN(1),MON(),TUE,WED,THI,FRI,SAT;//这是对象  他在初始化的时候 都会调用构造方面 就是下面的代码
                private WeekDay(){System.out.println("first");};
                private WeekDay(int day){System.out.println("second");}
        }
       
        public enum Single{
                SINGLE(){
                        public Single getInstance(){
                                return SINGLE;
                        }

//                        @Override
//                        public Single getInstance() {
//                                // TODO Auto-generated method stub
//                                return null;
//                        }
                       
                };
                public abstract Single getInstance();//构造方法
               
        }
       
       
       
       
     public enum TrafficLamp{           //RED是TrafficLamp的子类
             RED(30){
                       public          TrafficLamp  nextLamp(){
                               return GREEN;
                       }
             },
             GREEN(45){
                      public          TrafficLamp  nextLamp(){
                              return YELLOW;
                      }
                     
             },
             YELLOW(5){
                      public          TrafficLamp  nextLamp(){
                              return RED;
                      }
             };                        
             public abstract  TrafficLamp nextLamp();//这是一个抽象方法  只能被声明 不能被实现  所以没有大括号。
             
             public int time;
             private TrafficLamp (int time){
                     this .time = time;
             }
                   
              
     }
}
回复 使用道具 举报
本帖最后由 掌柜的--刘饮 于 2014-7-17 19:49 编辑

看看张孝祥老师,高新技术视频,前面一些篇幅是讲枚举类的
http://dl.vmall.com/c0wik0ze7s


回复 使用道具 举报
java—family 发表于 2014-7-17 16:55
看一下我刚学习的代码  
简单的说  用关键字 Enum 创建的类  ,这个类中的每个元素  都是 对象 如下面的    ...

没有class吧?
回复 使用道具 举报

没有。。。。。
回复 使用道具 举报
人心如水 发表于 2014-7-17 16:48
枚举类enum就是对象只能在几个固定的值里面取,例如星期只能从星期一到星期曰,当我们处理这类问题时,普通 ...

恩,谢谢:handshake:handshake
回复 使用道具 举报
meibinlove 发表于 2014-7-17 16:47
可以自己去百度然后实践一下,这样印象比较深刻

恩,现在我知道了!
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马