枚举类
- 枚举类的常量对象列表必须在枚举类的首行,它是常量,建议使用全大写
- 常量后面有参数,需要自定义有参构造器
- 枚举类默认继承java.lang.Enum类,不能在继承其他的类型
- JDK1.5后 switch 提供支持枚举类型,case后面写枚举常量名 ```java enum Color{ // 枚举实例 RED, GREEN, BLUE; }
class Color{ // 类实现枚举
public static final Color RED = new Color();
public static final Color GREEN = new Color();
public static final Color BLUE = new Color();
}
// 迭代遍历枚举元素 for(Color myVar: Color.values()) System.out.println(myVar);
// switch使用 Color myVar = Color.BLUE; switch(myVar){ case RED: System.out.println(“red”);break; case GREEN: System.out.println(“green”);break; case BLUE: System.out.println(“blue”);break; }
```javaString toString();// 可以重写toStringString name();// 返回常量名int RED.ordinal();// 返回常量序号,类似数组的索引[] values();// 返回枚举中的所有值T valueOf("RED");// 字符串返回枚举常量,不存在抛异常 IllegalArgumentException
// 星期 WeekMONDAY("星期一"), TUESDAY("星期二"), WEDNESDAY("星期三"),THURSDAY("星期四"), FRIDAY("星期五"), SATURDAY("星期六"),SUNDAY("星期天");// 月份 MonthJANUARY("一月"), FEBRUARY("二月"), March("三月"), April("四月"),MAY("五月"), JUNE("六月"), JULY("七月"), AUGUST("八月"),SEPTEMBER("九月"), OCTOBER("十月"), NOVEMBER("十一月"), DECEMBER("十二月");// 性别 GenderMAN("男"), WOMAN("女"), UNKNOWN("未知");// 季节 SeasonSPRING("春天"), SUMMER("夏天"), AUTUMN("秋天"), WINTER("冬天");// 支付方式 PaymentCASH("现金"), WECHATPAY("微信"), ALIPAY("支付宝"),BANKCARD("银行卡"), CREDITCARD("信用卡");// 员工状态 StatusBUSY("忙碌"), FREE("闲空"), VOCATION("休假");// 订单状态 StatusNONPAYMENT("未付款"), PAID("已付款"), FULFILLED("已配货"), DELIVERED("已发货"),CHECKED("已确认收货"), RETURN("退货"), EXCHANGE("换货"), CANCEL("取消");
注解
- 注解是1.5更新的新特性
- 注解和注释是一个东西
- 注释:给程序员看的,不会被加载到虚拟机中
- 注解:通过设置存活时间,可以加载到虚拟机中,被反射读取,可以做一些配置
public @interface MyAnnotation{String name() default "张三";int age() default 20;String set();}@MyAnnotation("男"); // 一个为默认属性@MyAnnotation(sex="男", name="张三", age=11);
系统预定义注释:注解是以@注释名在代码中存在,还可以添加一些参数值
@SuppressWarnings(value=”unchecked”)// 抑制编译警告@Override// 方法重写,检测@Deprecated// 表示已过时不建议使用@Test// 单元测试@author@param
