public enum Color {
/*
在JDK1.5 之前,我们定义常量都是: public static fianl.... 。
现在好了,有了枚举,可以把相关的常量分组到一个枚举类型里,而且枚举提供了比常量更多的方法。
*/
RED("红色"," Red "," Red ") {
@Override
public String toFormat(String str) {
return toLowerCase(str);
}
}
,GREEN("绿色"," Green "," Green") {
@Override
public String toFormat(String str) {
return toUpperCase(str);
}
};
/*定义字段*/
private String name;//名称
private String mark;//标志
private String code;//唯一编码
public static void main(String[] args) {
System.out.println(RED.toFormat(RED.getMark()));
System.out.println(GREEN.toFormat(GREEN.getMark()));
}
Color() {
}
private Color(String name,String mark,String code) {
this.name = name;
this.mark = mark;
this.code = code;
}//注意:构造方法不能被public、protected
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public String getMark() {
return mark;
}
public void setMark(String mark) {
this.mark = mark;
}
public String getCode() {
return code;
}
public void setCode(String code) {
this.code = code;
}
/**
* 字符串去前后空格,转为小写
* @param str
* @return
*/
public String toLowerCase(String str) {
return str.trim().toLowerCase();
}//定义非静态方法
/**
* 字符串去前后空格,转为大写
* @param str
* @return
*/
public static String toUpperCase(String str) {
return str.trim().toUpperCase();
}//定义静态方法
/**
* 将字符串进行格式化
* @param str
* @return
*/
public abstract String toFormat(String str);//定义抽象方法
}
JDK1.5 枚举
最新推荐文章于 2020-07-03 12:54:33 发布