注解:Annotation。JDK5.0引入的新技术

注解的作用:

①不是程序本身,可以对程序作出解释

②可以被其他程序读取

注解格式:@注释名。此外还可以添加一些参数值

//例
@SuppressWarnings(value="unchecked")
  • 1.
  • 2.

注解可以在哪里使用?

可以附加在package,class,method,filed等上面,相当于给他们添加了额外的辅助信息,可以通过反射机制编程实现对这些元数据的访问


内置注解:

@Override

定义在java.lang.Override中,用于修饰方法,表示一个方法声明打算重写超类的另一个方法声明

@Deprecated

修饰方法,属性,类,表示不鼓励程序员使用这样的元素,通常因为它很危险或者存在更好的选择

@SuppressWarnings

用来抑制编译时的警告信息,需要添加一个参数才能使用

@Override

【java笔记】注解_父类

 

【java笔记】注解_java_02

 @Deprecated

【java笔记】注解_父类_03

【java笔记】注解_java_04

 @SuppressWarnings

如果定义一个元素未被使用,会出现Variable is never used的警告

【java笔记】注解_java_05

在方法前加入@SuppressWarnings("all")可以抑制警告信息

【java笔记】注解_ide_06

@SuppressWarnings也可以加在类前面 

 

【java笔记】注解_父类_07

 


元注解:meta-annotation类型,负责注解其他注解, 用来对其他annotation类型作说明

@Target

用于描述注解的使用范围

@Retention

用于描述注解的声明周期

SOURCE<CLASS<RUNTIME

@Document

说明该注解被包含在javadoc中

@Inherited

说明子类可以继承父类中的该注解

 定义一个元注解:

@Target:表示注解可以用在哪些地方

【java笔记】注解_java_08

 

【java笔记】注解_java_09

 @Retention:定义注解的周期,一般设置为RUNTIME表示运行时有效

【java笔记】注解_ide_10

 @Document表示是否将注解生成在JAVAdoc中

@Inherited子类可以继承父类的注解 

【java笔记】注解_java_11


自定义注解:

@interface自定义注解,自动继承了java.lang.annotation.Annotation接口

【java笔记】注解_java_12

 带默认值的参数:

【java笔记】注解_ide_13

 

【java笔记】注解_父类_14

 

【java笔记】注解_父类_15