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

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 够了没有 中级黑马   /  2014-1-16 12:05  /  1362 人查看  /  2 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

本帖最后由 够了没有 于 2014-1-16 17:58 编辑

张老师讲的关于枚举的这段代码

public class EnumTest {

        public static void main(String[] args) {

                WeekDay weekDay0 = WeekDay.SUN;
                WeekDay weekDay1 = WeekDay.MON;
                System.out.println(weekDay0.toString());
                System.out.println(weekDay1.toString());

        public enum WeekDay{
                SUN(1),MON,TUE,WEN,THU,FRI,SAT;
                private WeekDay(){System.out.println("first");}
                private WeekDay(int day){System.out.println("second");}
        }
}

1.老师说枚举的每个元素SUN(1),MON,TUE,WEN,THU,FRI,SAT相当于WeekDay这个类的实例对象,
那么,我们在定义枚举的时候,可不可以用不是该类的实例对象的元素作为该枚举的元素呢?
比如定义一个确定的整数MAX = 127或者MIN = -128?
2.枚举的元素可以用小写字母表示吗?

2 个回复

倒序浏览
可以的 黑马程序员 但是定义的枚举是一个常量
回复 使用道具 举报
一个枚举元素就是一个枚举的实例对象。
枚举中元素可以用小写字母命名。
如果要在枚举中定义确定的整数 可以用定义常量的方法。代码如
  1. package com.itheima;

  2. public enum test {
  3.         one,two,three;
  4.         public static final int MAX=127;
  5.         public static final int MIN=-128;
  6.        
  7.         public String toString(){
  8.                 if(this.equals(one)){
  9.                         return "1";
  10.                 }
  11.                 if(this.equals(two)){
  12.                         return "2";
  13.                 }
  14.                 if(this.equals(three)){
  15.                         return "3";
  16.                 }
  17.                 return null;
  18.         }
  19.        
  20.        
  21.        
  22.         public static void main(String[] args){
  23.                 System.out.println(test.MAX);
  24.                 System.out.println(test.MIN);
  25.                 System.out.println(test.one);
  26.         }
  27. }
复制代码
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马