一、枚举类
1、JDK1.5之前需要自定义枚举类,JDK1.5版本以后提供了enum关键字,可以直接使用
2、自定义枚举类
(1)提供类的属性,声明为private final
(2)在构造器中初始化属性,一旦初始化就不能被修改,构造器被声明为private类型的
(3)可以通过公共方法调用属性
(4)在类的内部创建类的对象,将类的对象声明为public static final
例:public static final Season SPRING = new Season("spring","春意盎然")
3、使用enum定义枚举类
(1)在类中首先创建类的对象,多个对象间用逗号隔开,最后一个用分号,对象必须在类的最前面创建
例:
enum Season{
SPRING("spring","春意盎然"),
SUMMER("summer","夏日炎炎"),
AUTUMN("autumn","秋高气爽"),
WINTER("winter","银装素裹");
}
(2)values()方法:获取对象的属性值
(3)valuesOf(Stringname)方法:要求传入的输入是对象名
(4)枚举类中可以定义自有的成员变量,但,一定要放在枚举项之后。也就是:保证枚举项在先;
(5)枚举类中可以定义抽象方法
4、枚举类实现接口
可以通过接口实现使执行的效果不同。
方法:让每个枚举类对象分别实现抽象方法
例:
Interface Info{
void show();
}
enum Season implements Info{
SPRING("spring","春意盎然"){
public void show(){
System.out.println("AAAAA");
}
},
SUMMER("summer","夏日炎炎"){
public void show(){
System.out.println("BBBBBB");
}
},
AUTUMN("autumn","秋高气爽"){
public void show(){
System.out.println("CCCCCC");
}
},
WINTER("winter","银装素裹"){
public void show(){
System.out.println("DDDDD");
}
};
}
二、注解
1、三个基本注解
@Override:限定重写父类方法,该注释只能用于方法
@Deprecated:用于表示某个程序元素(类,方法等)已过时
@SuppressWarnings:抑制编译器警告
2、自定义注解
3、元注解