创建月份枚举类,枚举值包含十二个月份,月份要求用英文单词
public enum Month { January("January"), February("February"), March("March"), April("April"), May("May"), June("June"), July("July"), August("August"), September("September"), October("October"), November("November"), December("December"); Month(String name) { this.name = name; } public String getName() { return name; } public void setName(String name) { this.name = name; } private String name; }
创建星期枚举类,有7个枚举值,包含计划属性plan,为此属性赋值(使用构造器)。
```
public enum Week {
Monday("Monday","study 1"),
Tuesday("Tuesday","study 2"),
Wednesday("Wednesday","study 3"),
Thursday("Thursday","study 4"),
Friday("Friday","study 5"),
Saturday("Saturday","rest 1"),
Sunday("Sunday","rest 2")
;private String name;
private String plan;Week(String name, String plan) {
this.name = name; this.plan = plan;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public String getPlan() {
return plan;
}
public void setPlan(String plan) {
this.plan = plan;
}
@Override
public String toString() {return "Week{" + "name='" + name + '\'' + ", plan='" + plan + '\'' + '}';
}
}1)有 RED,BLUE,BLACK,YELLOW,GREEN这个五个枚举值;
2)Color有三个属性redValue,greenValue,blueValue,
3)创建构造方法,参数包括这三个属性,
4)每个枚举值都要给这三个属性赋值,三个属性对应的值分别是red:255,0,0 blue:0,0,255 black:0,0,0 yellow:255,255,0 green:0,255,0
5)重写toString方法显示三属性的值
6)在Color中添加抽象方法meaning,不同的枚举类的meaning代表的意思各不相同public enum Color { RED(255,0,0){ public String meaning(){ return "RED"; } }, BLUE(0,0,255){ public String meaning(){ return "BLUE"; } }, BLACK(0,0,0){ public String meaning(){ return "BLACK"; } }, YELLOW(255,255,0){ public String meaning(){ return "YELLOW"; } }, GREEN(0,255,0){ public String meaning(){ return "GREEN"; } } ; private int redValue; private int greenValue; private int blueValue; // 定义抽象方法 public abstract String meaning(); Color(int redValue, int greenValue, int blueValue) { this.redValue = redValue; this.greenValue = greenValue; this.blueValue = blueValue; } @Override public String toString() { return "Color{" + "redValue=" + redValue + ", greenValue=" + greenValue + ", blueValue=" + blueValue + '}'; }
}
4.有一个接口类Works,有个反***色的接口ReflectColor,用上题的Color枚举类实现这个接口类,每个枚举值反射自己颜色的光。
//接口类,反射光的方法
public interface Works {
public String ReflectColor();
}
package com.company;
public enum Color implements Works{
RED(255,0,0){
@Override
public String ReflectColor() {
return "RED light";
}
public String meaning(){ return "RED"; } }, BLUE(0,0,255){ @Override public String ReflectColor() { return "BLUE light"; } public String meaning(){ return "BLUE"; } }, BLACK(0,0,0){ @Override public String ReflectColor() { return "BLACK light"; } public String meaning(){ return "BLACK"; } }, YELLOW(255,255,0){ @Override public String ReflectColor() { return "YELLOW light"; } public String meaning(){ return "YELLOW"; } }, GREEN(0,255,0){ @Override public String ReflectColor() { return "GREEN light"; } public String meaning(){ return "GREEN"; } } ; private int redValue; private int greenValue; private int blueValue;
// 定义抽象方法
public abstract String meaning();
Color(int redValue, int greenValue, int blueValue) { this.redValue = redValue; this.greenValue = greenValue; this.blueValue = blueValue; } @Override public String toString() { return "Color{" + "redValue=" + redValue + ", greenValue=" + greenValue + ", blueValue=" + blueValue + '}'; }
}
```