枚举类概述
在某些情况下,一个类的对象是有限而且固定的。例如季节类,只能有 4 个对象
手动实现枚举类:
private 修饰构造器
属性使用 private final 修饰
把该类的所有实例都使用 public static final 来修饰
使用 enum 定义枚举类
public class Test3 {
public static void main(String[] args) {
Season s =Season.SPRING;//获取一个Season对象 获得相同的对象 属于单例
s.showInfo();
}
}
enum Season{
SPRING("春天","春暖花开"), //调用了一次下面的构造方法
SUMMER("夏天","夏日炎炎"),
AUTUMN("秋天","秋高气爽"),
WINTER("冬天","含风凌烈");
private final String name;
private final String desc;
private Season(String name,String desc) {
this.name=name;
this.desc=desc;
}
public void showInfo() {
System.out.println(this.name+", "+this.desc);
}
}
注解
Annotation 其实就是代码里的特殊标记, 这些标记可以在编译, 类加载, 运行时被读取, 并执行相应的处理. 通过使用 Annotation, 程序员可以在不改变原有逻辑的情况下, 在源文件中嵌入一些补充信息.
Annotation 可以像修饰符一样被使用, 可用于修饰包,类, 构造器, 方法, 成员变量, 参数, 局部变量的声明, 这些信息被保存在 Annotation 的 “name=value” 对中.
Annotation 能被用来为程序元素(类, 方法, 成员变量等) 设置元数据
使用 Annotation 时要在其前面增加 @ 符号, 并把该 Annotation 当成一个修饰符使用. 用于修饰它支持的程序元素
三个基本的 Annotation:
@Override: 限定重写父类方法, 该注释只能用于方法
@Deprecated: 用于表示某个程序元素(类, 方法等)已过时
@SuppressWarnings: 抑制编译器警告.