[关闭]
@hainingwyx 2017-11-15T21:11:28.000000Z 字数 1402 阅读 1294

Java注解

Java


概述

注解概念:注解是一种这样的东西,标志是一个@符号,能够关联数据和其他的信息,注解是Java提供的一种源程序中的元素关联任何信息和任何元数据的途径和方法。

注解作用:读懂别人代码,特别是框架代码,让编程更加简洁,代码更清晰。

Java中的常见注解

  1. @Override 表示当前方法覆盖了父类的方法
  2. @Deprecation 表示方法已经过时,方法上有横线,使用时会有警告。
  3. @SuppviseWarnings 表示关闭一些警告信息(通知java编译器忽略特定的编译警告)

java注解分类

元注解:注解的注解

自定义注解

  1. public @interface Description{ //使用@interface表示定义注解
  2. String desc(); //成员以无参无异常方式声明
  3. String author();
  4. int age() default 19; //可以用default为成员指定一个默认值
  5. }

@Target({ElementType.CONSTRUCTOR,ElementType.FIELD,ElementType.METHOD})
Target表示作用域。
+ ElementType可选:CONSTRUCTOR(构造方法)、FIELD(字段)、LOCAL_VARIABLE(局部变量)、METHOD(方法)、PACKAGE(包)、PARAMETER(参数)、TYPE(类,接口)
+ Retention表示声明周期,RetentionPolicy可选:SOURCE(源码显示,编译失效),CLASS(编译有效,运行无效),RUNTIME(运行有效,可用反射读取)
+ Inherited //Inherited 允许子类继承
+ @Documented 生成Javadoc会包含注解信息

使用注解的语法:@<注解名>(<成员名1>=<成员值1>,<成员名1>=<成员值1>,...)

  1. @Description(desc="I am eyeColor",author="Mooc boy",age=18)
  2. public String eyeColor(){ //@Description注解在eyeColor()方法上使用。
  3. return "red";
  4. }

解析注解

概念:通过反射获取类、函数或成员上的运行时注解信息,从而实现动态控制程序运行的逻辑。

4、自定义注解的结构:
元注解(用来注解注解的)、@接口定义、无参无异常的成员方法的定义(成员类型受限:基本数据类型、String、枚举)

添加新批注
在作者公开此批注前,只有你和作者可见。
回复批注