创建月份枚举类,枚举值包含十二个月份,月份要求用英文单词
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 +
'}';
}}
```

京公网安备 11010502036488号