JDK1.5 枚举

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);//定义抽象方法
}

猜你喜欢

转载自blog.csdn.net/phone13144830339/article/details/80163313