zoukankan      html  css  js  c++  java
  • 注解

    注解的类型(参数个数):

    1.标注注解:一个没有成员定义的annotation类型被称为标注注解。这种annotation类型仅使用自身的存在与否来为我们提供信息。

    2.单值注解

    3.完整注解

    注解的类型(注解的用途)

    1.jDK内置系统注解 2.元注解 3.自定义注解

    详:

    @Override 用的最多,是标记注解,表示重写父类方法。

    @SuppressWarnings 抑制编译警告注解  @ Depracated 过期不推荐标记的注解

      

    自定义注解:当@interface关键字用来声明一个注解,将自动继承java.lang.annotation.Annotation接口。里面的每一个方法表示声明了一个可配置的参数,方法名即位参数名。

    • 访问修饰符只能使用 public 或者 default
    • 返回值类型就是参数的类型且只能为 八种基本数据类型 、 Class 、 String 、 Enum 、Annotations类型以及上述类型所组成的 数组
    • 通过 default 关键字声明参数的默认值。
    • 如果只有一个参数成员最好命名为 value()
    • 注解元素必须有确定的值,要么在定义注解元素时默认值指定,要么使用此注解时指定。非基本类型注解元素的值不可为 null

    元注解:其作用就是负责注解其他的注解。

      常用有1.@Target 2.@Retention 3.@Document 4.@Inherited

      @Target(指定所修饰对象的范围):ElementType.CONSTRUCTOR/FIELD/LOCAL_VARIABLE/METHOD/PACKAGE/PARAMETER/TYPE 分别用户描述构造器/域/局部变量/方法/包/参数/类、接口(包括注解类型)或enum声明

      @Retention(定义保留的时间长短): RetentionPoicy.SOURCE/CLASS/RUNTIME   在 源文件/class文件/运行时 有效(保留---即可通过反射)

      @Document:标记注解,标记该注解类型的元素(带有注释的)会通过javadoc或者类似工具进行文档化

      @Inherited:表示注解类型能被自动继承。 如果一个类使用了 @Inherited 类型的注解,则此类的子类也将含有该注解,当 Retention 为 RUNTIME 时通过反射API可以查询到此类以及其父类直到发现指定的annotation类型被发现,或者到达类继承结构的顶层。

  • 相关阅读:
    Python3之random模块常用方法
    Go语言学习笔记(九)之数组
    Go语言学习笔记之简单的几个排序
    Go语言学习笔记(八)
    Python3之logging模块
    Go语言学习笔记(六)
    123. Best Time to Buy and Sell Stock III(js)
    122. Best Time to Buy and Sell Stock II(js)
    121. Best Time to Buy and Sell Stock(js)
    120. Triangle(js)
  • 原文地址:https://www.cnblogs.com/yzf666/p/6245339.html
Copyright © 2011-2022 走看看