枚举类
自定义枚举类:
class Season{
//1.声明Season对象的属性:private final修饰
private final String seasonName;
private final String seasonDesc;
//2.私有化类的构造器,并给对象属性赋值
private Season(String seasonName,String seasonDesc){
this.seasonName = seasonName;
this.seasonDesc = seasonDesc;
}
//3.提供当前枚举类的多个对象:public static final的
public static final Season SPRING = new Season("春天","春暖花开");
public static final Season SUMMER = new Season("夏天","夏日炎炎");
//4.其他诉求1:获取枚举类对象的属性
public String getSeasonName() {
return seasonName;
}
public String getSeasonDesc() {
return seasonDesc;
}
//4.其他诉求1:提供toString()
}
使用enum
定义枚举类
enum Season1{
//1.提供当前枚举类的对象,多个对象之间用","隔开,末尾对象";"结束
SPRING("春天","春暖花开"),
SUMMER("夏天","夏日炎炎");
//2.声明Season对象的属性:private final修饰
private final String seasonName;
private final String seasonDesc;
//2.私有化类的构造器,并给对象属性赋值
private Season1(String seasonName,String seasonDesc){
this.seasonName = seasonName;
this.seasonDesc = seasonDesc;
}
//4.其他诉求1:获取枚举类对象的属性
public String getSeasonName() {
return seasonName;
}
public String getSeasonDesc() {
return seasonDesc;
}
//4.其他诉求1:提供toString()
}
枚举类常用方法(继承与java.lang.Enum
)
方法 | 功能 |
---|---|
toString() | 返回枚举类对象的名称 |
values() | 返回所有枚举类对象构成的数组 |
valueOf(String objName) | 返回枚举类中对象名是 objName 的对象 |
注解
注解的使用实例:
- 生成文档的相关注解
- 在编译时进行格式检查(
JDK
内置的几个基本注解)@Override:限定重写父类方法,该注解只能用于方法 @Deprecated:用于表示所修饰的元素已过时 @SuppressWarnings:抑制编译器警告
自定义注解:
- 关键字:@interface
- 注解的属性:
语法:返回值 名称();
- 注解属性类型:
基本类型 String 枚举类型 注解类型 Class类型 以上类型的一维数组类型
- 元注解:代表修饰注解的注解,作用是限制定义的注解的特性
@Retention SOURCE:注解在源码级别可见 CLASS:注解在字节码文件级别可见 RUNTIME:注解在整个运行阶段都可见 @Target :代表注解修饰的范围,类上使用,方法上使用,字段上使用 FIELD:字段上可用此注解 METHOD:方法上可以用此注解 TYPE:类/接口上可以使用此注解
//定义注解
@Target({ElementType.METHOD,ElementType.TYPE})
@Retention(RetentionPolicy.RUNTIME)
public @interface MyAnno {
//注解的属性
String name();
int age() default 28;
//String value();
//String[] value();
}