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

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© dsh 中级黑马   /  2014-10-4 14:21  /  1596 人查看  /  7 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

package com.heima;

/*
* 1、 自定义枚举 Week 用于表示星期,Mon,Tue,Wed...
* 要求每个枚举值都有toLocaleString 方法,用于获得枚举所表示的星期的中文格式 星期一、星期二、星期三...
* Sunday           Sun         星期日
* Monday           Mon         星期一
* Tuesday          Tue         星期二
* Wednesday        Wed         星期三
* Thursday         Thu         星期四  
* Friday           Fri         星期五
* Saturday         Sat         星期六
*/
public class Test01 {

        public static void main(String[] args) {

           Week day =Week.FRI;
      
       System.out.println(day.name());//FRI
      
       System.out.println(Week.valueOf("SUN").toLocaleString());//星期日
        }

}

enum Week {
    MON{
        public String toLocaleString(){
            return "星期一";
        }
    },
    TUES{
        public String toLocaleString(){
            return "星期二";
        }
    },
    WEB{
        public String toLocaleString(){
            return "星期三";
        }

    },
    THUR{
        public String toLocaleString(){
            return "星期四";
        }

    },
    FRI{
        public String toLocaleString(){
            return "星期五";
        }

    },
    SAT{
        public String toLocaleString(){
            return "星期六";
        }

    },
    SUN{
        public String toLocaleString(){
            return "星期日";
        }

    };
   
   
        private String value;
   
    private Week(String value) {
                this.value = value;
        }
        public String getValue() {
     return value;
     }
    public abstract String toLocaleString();
}

评分

参与人数 1技术分 +1 收起 理由
敏敏好学 + 1

查看全部评分

7 个回复

倒序浏览
你定义了一个有参的构造函数,则默认的空参构造函数失效。
需要在初始化时传入一个String参数。

MON("1"){
        public String toLocaleString(){
            return "星期一";
        }

希望能够帮到你。

评分

参与人数 1技术分 +1 收起 理由
敏敏好学 + 1

查看全部评分

回复 使用道具 举报 1 0
JerryJava 发表于 2014-10-4 14:32
你定义了一个有参的构造函数,则默认的空参构造函数失效。
需要在初始化时传入一个String参数。

方不方便  把枚举的知识讲详细点   我顺便可以学习学习
回复 使用道具 举报
dsh 发表于 2014-10-4 14:56
方不方便  把枚举的知识讲详细点   我顺便可以学习学习

baidu 或者论坛搜索下。
回复 使用道具 举报
JerryJava 发表于 2014-10-4 15:03
baidu 或者论坛搜索下。

   Week day =Week("Tuesday");
回复 使用道具 举报
JerryJava 发表于 2014-10-4 15:03
baidu 或者论坛搜索下。

为什么这样用就会出错  是不是私有了
回复 使用道具 举报
枚举类Week中加入无参的构造方法
或者每个枚举实例后面加入参数就好比如

  1. MON("TUES"){
  2.         public String toLocaleString(){
  3.             return "星期一";
  4.         }
  5.     }
复制代码




回复 使用道具 举报
dsh 中级黑马 2014-10-4 22:02:08
8#
笑脸迷人 发表于 2014-10-4 15:45
枚举类Week中加入无参的构造方法
或者每个枚举实例后面加入参数就好比如

如果写成这样  该怎么用这个枚举变量  方便吧 无参和有参的用法都说说  这里有很多不懂的
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马