java注解复习

java注解复习,第1张

1.注解的概述
  • 从JDK5.0开始,JAVA增加了对元数据(MetaData)的支持,也就是Annotation(注解)。        
  • Annotation可以像修饰符一样被使用,可以用于修饰包,类,方法,变量,构造器,参数等等的声明,这些信息被保存在Annotation的“name=value”对中。

2.常见的Annotation示例 2.1 示例1:生成文档相关的注解

@author 表明开发该模板的作者

@version 表明该模板的版本

@since 从哪个版本开始增加

@param 对方法中的参数说明

@return 对方法返回值的说明

@exception 对方法可能抛出的异常进行说明

2.3 示例2 :jdk内置的三个基本注解

@Override: 限定重写父类方法,该注解只能用于方法

@Deprecated :用于标识所修饰的类或方法已过时

@SuppressWarnings:抑止编译器警告

public class AnnotationTest {
    public static void main(String[] args) {
        Student student = new Student();
        student.eat();
    }
}

class Person{
    public void eat(){
        System.out.println("吃饭了");
    }
}

class Student extends Person {

    public void eat1() {
        System.out.println("开吃");
    }
}

如果 没有用@Overrride  重写的方法名可以被修改不报错

2.4自定义注解

声明为@interface ,跟接口没有关系

  1. 访问修饰符必须为public,不写默认为public;
  2. 该元素的类型只能是基本数据类型、String、Class、枚举类型、注解类型(体现了注解的嵌套效果)以及上述类型的一位数组;
  3. 该元素的名称一般定义为名词,如果注解中只有一个元素,请把名字起为value(后面使用会带来便利 *** 作);
  4. ()不是定义方法参数的地方,也不能在括号中定义任何参数,仅仅只是一个特殊的语法;
  5. default代表默认值,值必须和第2点定义的类型一致;
  6. 如果没有默认值,代表后续使用注解时必须给该类型元素赋值。
3. JDK中的元注解

元注解用于修饰其他Annotation定义

JDK5.0提供了四个标准的meta-annotattion类型

  1. Retention 用于指定注解的生命周期 :RetentionPolicy.SOURCE(源文件保留) RetentionPolicy.CLASS(class保留)这是默认值  RetentionPolicy.RUNTIME(运行时保留)只有声明为RUNTIME才可以通过反射获取
  2. Target      用于指定被修饰的Annocation可以修饰哪些元素                                           
  3. Documented   表示该元注解所修饰的注解的类被javadoc提取时保留注解,该注解必须为RetentionPolicy.RUNTIME
  4. Inherited  他修饰的Annotation具有继承性
4.通过反射获取注解
public static void main(String[] args) {

            Class clazz = Student.class;
            Annotation[] annotations = clazz.getAnnotations();
            for (Annotation annotation : annotations) {
                System.out.println(annotation);
            }


    }

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/langs/924271.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-05-16
下一篇 2022-05-16

发表评论

登录后才能评论

评论列表(0条)

保存