黑马程序员技术交流社区

标题: 枚举 [打印本页]

作者: 风云    时间: 2013-6-9 11:06
标题: 枚举
本帖最后由 风云 于 2013-6-12 17:03 编辑
  1. class  EumTest
  2. {
  3.         public static void main(String[] args)
  4.         {
  5.                 WeekDay weekday = WeekDay.FRI;//这句话该怎么理解//
  6.         }
  7.         public enum WeekDay//这句话的意思是不是建立一个WeekDay的枚举类//
  8.         {
  9.                 SUN,MON,TUD,WED,THT,FRI,SAT;
  10.                 private WeekDay()
  11.                 {
  12.                      System.out.println("Frist");
  13.         }
  14.         }
  15. }
  16. 解释的越清晰越好,先谢啦!
复制代码

作者: 蚂蚁搬家    时间: 2013-6-9 11:47
WeekDay weekday = WeekDay.FRI;//调用枚举类型里的常量;就像Student stud = new Student(“张三”, 25)一样;
public enum WeekDay//定义一个枚举类型WeekDay,就像定义一个类public class Student一样;
作者: 风乐    时间: 2013-6-9 11:50
class  Demo
{
        public static void main(String[] args)
        {
                WeekDay weekday = WeekDay.FRI;//这句话等于创建了一个引用名为FRI的枚举类对象
                System.out.println(weekday.name()+"温度是"+weekday.temperature+"摄氏度");
        }
        public enum WeekDay//这句话的意思就是建立一个WeekDay的枚举类
        {
         /*
                 枚举类列举的下列字段等于限定了此枚举类可创建对象的数量和引用名,除了以下列举之外不可再创建此类的其他对象
                 WeekDay.FRI ------->  WeekDay FRI = new WeekDay()
                 因为枚举类中是可以定义构造函数的,也就是说每个枚举对象可通过构造函数进行各自的初始化,那么WeekDay.FRI可以使用自己的特有属性值,如下代码,通过上面红色代码可调用FRI的属性值
                 */     
                               
                SUN,MON,TUD,WED,THT,FRI("有大雨",17),SAT;
                private int temperature;
                private WeekDay()
                {
                        System.out.println(this.name()+" 加载了");
        }

                private WeekDay(String weather,int temperature)
                {
                        System.out.println(this.name()+"今天天气:"+weather);
                        this.temperature = temperature;
                }
        }
}


通过代码运行结果可发现一旦创建枚举类对象,类加载时便会对所有可创建对象进行初始化,并非用哪个对象初始化哪个,这一点容易被忽略


作者: 袁梦希    时间: 2013-6-9 14:45
楼主你好  如果帖子的问题已经解决,请把帖子的类型改为“已解决”。{:soso_e102:}
作者: 风乐    时间: 2013-6-9 17:30
袁梦希 发表于 2013-6-9 14:45
楼主你好  如果帖子的问题已经解决,请把帖子的类型改为“已解决”。 ...

最后加的那个表情无解。。。




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