美文网首页
注解学习1

注解学习1

作者: 走在冷风中吧 | 来源:发表于2017-09-12 16:55 被阅读74次

作用:为数据提供描述数据

概要

系统注解:
  * 内置注解
    * @Deperated
    * @Overrride
    * @SuppressWarnings
  * 元注解
    * @Rentention 
    * @Target
    * @Inhrited
    * @Documented
@Deperated
* 用来标记一个方法,类,或者属性已经过期
@Override
* 用来标记一个方法是重载父类的, 会到他的上层或者上上层去寻找, 知道找到位置
@SupressWarning

源码:

@Target({ElementType.TYPE, ElementType.FIELD, ElementType.METHOD, ElementType.PARAMETER, ElementType.CONSTRUCTOR, ElementType.LOCAL_VARIABLE})
@Retention(RetentionPolicy.SOURCE)
public @interface SuppressWarnings {
    String[] value();
}
让编译器忽略一些提醒,比如过时的方法等

元注解

用来标注注解类的注解,可以用于自定义注解
@Retention
注解什么时候可见, 分为(运行时可见,.class 及源码中可见 , 源码可见)

源码:

@Documented
@Retention(RetentionPolicy.RUNTIME)
@Target({ElementType.ANNOTATION_TYPE})
public @interface Retention {
    RetentionPolicy value();
}

添加注解时的参数类型为RetentionPolicy

public enum RetentionPolicy {
    CLASS,  //.class 或者源码中可见
    RUNTIME,  //运行时可见,可以通过反射获得
    SOURCE;  //仅在源码中可见

    private RetentionPolicy() {
    }
}
@Target
用于标记该注解适用于什么类型的元素(类,方法,变量等)

添加注解时的参数类型是ElementType

public enum ElementType {
    ANNOTATION_TYPE, //用于注解其他注解
    CONSTRUCTOR,
    FIELD,
    LOCAL_VARIABLE,
    METHOD,
    PACKAGE,  //该注解用于注解包声明
    PARAMETER,
    TYPE; //标示该注解用于注解类,接口,枚举类型

    private ElementType() {
    }
}
@Inhrited
表明被它修饰的注解具有继承性
@Inherited
@Retention(RetentionPolicy.RUNTIME)
public @interface InheritedAnnotation {
}
class A{
    @InheritedAnnotion
    classB{}
    classC extends ClassB{}
    public void static print(){
      system.out.println(ClassC.class.isAnnotationPresent(InheritedAnnotation.class));
    }
}

最终 print 方法输出结果为true

@Documented

直接在需要加入到JavaDoc的地方加上该注解即可

相关文章

  • MyBatis缓存和注解

    Mybatis缓存和注解 学习目标 1、mybatis缓存 2、mybatis注解 学习内容 1、mybatis缓...

  • 注解学习1

    作用:为数据提供描述数据 概要 @Deperated @Override @SupressWarning 源码: ...

  • mybatis学习笔记二-注解、代理、逆向工程

    [TOC] mybatis注解的使用 为什么学习注解?学习注解有什么好处?学完能做什么? 1、能够读懂别人写的代码...

  • 讲解java注解的博文

    1、秒懂,Java 注解 (Annotation)你可以这样学博主用标签来讲解注解,非常细腻,非常适合小白学习注解。

  • Android详解(五)新的技术

    花五个月时间来系统学习这五个部分 注解 Java注解(1)-基础Java注解(2)-运行时框架Java注解(3)-...

  • 注解

    主要学习自定义注解: 注解:对程序的标注和解释 比如Override 1 如果自定义一个注解,注解的里面的属性又如...

  • Spring Boot常用注解(二) - 注入Bean的注解

    1. 概述 在 Spring Boot常用注解(一) - 声明Bean的注解 中学习了Spring Boot中声明...

  • Android Studio butterknife注解框架

    今天我们就来学习一下 butterknife注解框架 的使用,废话不多说直接讲解。 1、butterknife注解...

  • Mapper层注解讲解

    1 Mapper层注解 Mapper层注解@Reponsitory和@Mapper经常使用但是不知道区别,就学习记...

  • java注解笔记

    1:为什么要学习注解?学习注解有什么好处?学完能做什么? 1、能够读懂别人写的代码,特别是框架相关的代码 2、让编...

网友评论

      本文标题:注解学习1

      本文链接:https://www.haomeiwen.com/subject/qcbcsxtx.html