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

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 刘孝泽 中级黑马   /  2014-7-8 15:01  /  1128 人查看  /  5 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

package jiaqiang;

public class Enum {
        public static void main(String[] args) {
                // TODO Auto-generated method stub
                //拿到枚举
                WeekDay weekday = WeekDay.MON   ;
                //枚举中的方法
                System.out.println(weekday.name());//获取名字
                System.out.println(weekday.ordinal());//找到其位置
                System.out.println(weekday.valueOf("SUN"));//tostring方法将其变为weekday对象
                System.out.println(weekday.values().length);//变换为数组得到数组个数
               
        }
       

        //定义枚举weekday只包含这八个东西
        public enum WeekDay{
       
                SUN(1),MON(1),TUE,WED,THT,FRT,FRI,SAT;
                //创建空构造函数
                private WeekDay(){System.out.println("1");};
                //创建有参构造
                private WeekDay(int day){System.out.println("2");};
        }
        //定义交通灯枚举
        public enum TrafficLamp{
                //子类对象红灯
                RED(30){
                        public TrafficLamp nextLamp(){
                                return GREEN;
                        }
                },
                //子类对象green灯
                GREEN(45){
                        public TrafficLamp nextLamp(){
                                return YELLOW;
                        }
                },
                //子类对象黄灯
                YELLOW(5){
                        public TrafficLamp nextLamp(){
                                return RED;
                        }
                };
                //抽象方法
                public abstract TrafficLamp nextLamp();
                private int time;
                //有参构造
                private TrafficLamp(int time){this.time=time;}
                //空参构造
                private TrafficLamp(){}
        }
}
这里创建的枚举中的子类对象为什么不用new出来

5 个回复

倒序浏览
枚举是值类型,不需要使用new。如果你要赋值给变量,只需要 enum f = MyFile;  即可。
回复 使用道具 举报
使用new声明,会转换成引用类型,即object,打点就不出来东东。
回复 使用道具 举报
弱弱的问句:枚举在毕老师视频的第几天?为什么我一直都没看到?
回复 使用道具 举报
枚举中RED GREEN YELLOW 都是枚举的对象,用枚举的名.它 就能调用了,你说的new是创建枚举对象么?他应经在枚举类定义的时候创建完了,并且在外面是不可以new出枚举对象的
回复 使用道具 举报
枚举是值类型,在内存中只分配一次内存,重复使用
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马