黑马程序员技术交流社区

标题: 枚举 [打印本页]

作者: 钱程永    时间: 2014-7-17 16:43
标题: 枚举
那位大神可以言简意赅的说明一下,枚举的具体用法或作用?

作者: meibinlove    时间: 2014-7-17 16:47
可以自己去百度然后实践一下,这样印象比较深刻
作者: 人心如水    时间: 2014-7-17 16:48
枚举类enum就是对象只能在几个固定的值里面取,例如星期只能从星期一到星期曰,当我们处理这类问题时,普通方法会很麻烦,所以就用到枚举,
作者: java—family    时间: 2014-7-17 16:55
看一下我刚学习的代码  
简单的说  用关键字 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:48
本帖最后由 掌柜的--刘饮 于 2014-7-17 19:49 编辑

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



作者: 钱程永    时间: 2014-7-17 20:51
java—family 发表于 2014-7-17 16:55
看一下我刚学习的代码  
简单的说  用关键字 Enum 创建的类  ,这个类中的每个元素  都是 对象 如下面的    ...

没有class吧?
作者: java—family    时间: 2014-7-17 20:56
钱程永 发表于 2014-7-17 20:51
没有class吧?

没有。。。。。

作者: 钱程永    时间: 2014-7-17 21:54
人心如水 发表于 2014-7-17 16:48
枚举类enum就是对象只能在几个固定的值里面取,例如星期只能从星期一到星期曰,当我们处理这类问题时,普通 ...

恩,谢谢:handshake:handshake
作者: 钱程永    时间: 2014-7-17 21:55
meibinlove 发表于 2014-7-17 16:47
可以自己去百度然后实践一下,这样印象比较深刻

恩,现在我知道了!




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