java注解复习

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);
            }


    }

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值