学习Java枚举和注解的个人笔记

1.枚举

public class TestSeason {
	public static void main(String[] args) {
		Season spring = Season.SPRING;
		System.out.println(spring);
		spring.show();
		System.out.println(spring.getSeasonName());
	}
}
//枚举类
class Season{
	//1.提供类的属性,声明为private final 
	private final String seasonName;
	private final String seasonDesc;
	//2.声明为final的属性,在构造器中初始化。
	private Season(String seasonName,String seasonDesc){
		this.seasonName = seasonName;
		this.seasonDesc = seasonDesc;
	}
	//3.通过公共的方法来调用属性
	public String getSeasonName() {
		return seasonName;
	}
	public String getSeasonDesc() {
		return seasonDesc;
	}
	//4.创建枚举类的对象:将类的对象声明public static final
	public static final Season SPRING = new Season("spring", "春暖花开");
	public static final Season SUMMER = new Season("summer", "夏日炎炎");
	public static final Season AUTUMN = new Season("autumn", "秋高气爽");
	public static final Season WINTER = new Season("winter", "白雪皑皑");
	@Override
	public String toString() {
		return "Season [seasonName=" + seasonName + ", seasonDesc="
				+ seasonDesc + "]";
	}
	public void show(){
		System.out.println("这是一个季节");
	}
}

2.注解

1). JDK 内置的基本注解类型(3个)

①. @override:限定重写父类方法,该注释只能用于方法

②. @Deprecated:用于表示某个程序元素(类, 方法等)已过时

public class Test {
	public static void main(String[] args) {
		
		tests();
	}
	@Deprecated
	public static void tests(){
		
	}
}

③. @SuppressWarnings:抑制编译器警告

@SuppressWarnings({ "unused", "rawtypes" })
List list=new ArrayList();

2). 自定义注解类型

public @interface T {

}

3). 对注解进行注解(4个)

①. Retention:只能用于修饰一个 Annotation 定义,指定 Annotation 可以保留多长时间

②. Target:用于修饰 Annotation 定义,指定被修饰的 Annotation 能用于哪些程序元素

③. Documented:用于指定被该 元 Annotation 修饰的 Annotation 类将被 javadoc 工具提取成文档

④. Inherited:被它修饰的 Annotation 将具有继承性

4). 利用反射获取注解信息(在反射部分涉及)

猜你喜欢

转载自blog.csdn.net/qq_36797286/article/details/81149409
今日推荐