【Java-10】关于注解

本文探讨了Java注解的使用,包括文档注解、内置注解、自定义注解的声明和使用,以及JDK8中可重复注解和类型注解。深入理解了Annotation在Java中的角色和元注解的作用,同时展示了如何通过反射获取和处理注解信息。
摘要由CSDN通过智能技术生成
package java1;

/**
 * 注解的使用
 * 1.理解Annotation
 * ①JDK5.0中的新增功能
 *
 * ②Annotation其实就是代码里的特殊标记,增加一些补充信息
 *
 * ③在JavaEE/Android中占据了很重要的角色
 *
 * 2.Annotation的使用示例:
 * 示例1:生成文档相关的注解
 * 示例2:JDK内置的三个基本注解:
 * @Override: 重写父类方法,且只能用于方法
 * @deprecated: 表示所修饰的元素已经过时了
 * @SuppressWarnings: 抑制编译器警告
 *
 * 示例3:跟踪代码依赖性,实现替代文件配置功能
 *
 * 3.如何自定义注解:参照suppresswarning去定义
 *      *1.注解声明为@interface
 *      *2.内部定义为成员,通常用value表示
 *      *3.可以指定成员的默认值,使用default来定义
 *      *4.如果自定义的注解没有成员,作标志作用
 *    如果注解有成员,使用的时候需要赋值
 *    自定义注解通常都会指明Retention和Target
 * 4.JDK提供的四种元注解:
 *  对现有注解解释说明的注解:
 *  Retention:指明修饰的annotation的生命周期:source,class,runtime(只有她可以通过反射获取)
 *  Target: 指定修饰的Annotation能够用来修饰哪些结构,哪些程序元素
 *  Documented:表示所修饰的注解在被javadoc解析时可以保留下来
 *  Inherited:表示所修饰的注解将具有继承性
 *
 * 5.通过反射获取注解信息---反射时讲解
 *
 * 6.JDK8中注解的新特性:可重复注解,类型注解
 *  6.1可重复注解
 *      ①在myAnnotation上声明@Repeatable,成员值为MyAnnotations.class
 *      ②MyAnnotation的Target和Retention和MyAnnotations相同
 *  6.2类型注解
 *      TYPE_PARAMETER表示可以写在类型变量的声明语句中,比如泛型声明
 *      TYPE_USE表示该注解能写在使用类型的任何语句中
 *
 *
 *
 * @author Baobao
 * @create 2021-08-09  17:32
 */
public class AnnotationTest {
}
@MyAnno(value="hello")
class Person{
    private String name;
    private int age;

    public Person(String name, int age) {
        this.name = name;
        this.age = age;
    }

    public Person() {
    }

    public void walk(){
        System.out.println("人走路");
    }
    public void eat(){
        System.out.println("人吃饭");
    }
}
interface Infom{
    void show();
}
class Student extends Person implements Infom{
    @Override
    public void walk() {
        System.out.println("学生走路");
    }

    @Override
    public void show() {

    }
}
package java1;

/**
 * @author Baobao
 * @create 2021-08-09  22:06
 */
public @interface MyAnno {
    String value() default "hello";
}

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值