• 欢迎来到本博客,希望可以y一起学习与分享

注解 @xxx

Java benz 3年前 (2018-02-18) 158次浏览 0个评论 扫描二维码
文章目录[隐藏]

1.什么是注解,注解作用

注解就是符合一定格式的语法 @xxxx
注解作用:
注释:在阅读程序时清楚—-给程序员看的
注解:给jvm看的,给机器看的

注解在目前而言最主流的应用:代替配置文件
关于配置文件与注解开发的优缺点:
注解优点:开发效率高 成本低
注解缺点:耦合性大 并且不利于后期维护

2.jdk5提供的注解

  1. @Override:告知编译器此方法是覆盖父类的
  2. @Deprecated:标注过时
  3. @SuppressWarnings:压制警告

 

发现的问题:
不同的注解只能在不同的位置使用(方法上、字段上、类上)

3.自定义注解(了解)

  1. 1)怎样去编写一个自定义的注解
  2. 2)怎样去使用注解
  3. 3)怎样去解析注解—–使用反射知识

(1)编写一个注解

关键字:@interface
注解的属性:
语法:返回值 名称();
注意:如果属性的名字是value,并且注解的属性值有一个 那么在使用注解时可以省略value

 

注解属性类型只能是以下几种

  1. 1.基本类型
  2. 2.String
  3. 3.枚举类型
  4. 4.注解类型
  5. 5.Class类型
  6. 6.以上类型的一维数组类型

(2)使用注解

在类/方法/字段 上面是@XXX

(3)解析使用了注解的类

介入一个概念:
元注解:代表修饰注解的注解,作用:限制定义的注解的特性
@Retention

  1. SOURCE: 注解在源码级别可见
  2. CLASS:注解在字节码文件级别可见
  3. RUNTIME:注解在整个运行阶段都可见

@Target
代表注解修饰的范围:类上使用,方法上使用,字段上使用

  1. FIELD:字段上可用此注解
  2. METHOD:方法上可以用此注解
  3. TYPE:类/接口上可以使用此注解

注意:要想解析使用了注解的类 , 那么该注解的Retention必须设置成Runtime

关于注解解析的实质:从注解中解析出属性值

字节码对象存在于获得注解相关的方法

  1. isAnnotationPresent(Class<? extends Annotation> annotationClass) : 判断该字节码对象身上是否使用该注解了
  2. getAnnotation(Class annotationClass) :获得该字节码对象身上的注解对象

文章 注解 @xxx 转载需要注明出处
喜欢 (0)

您必须 登录 才能发表评论!