zoukankan      html  css  js  c++  java
  • 注解

    Java注解(Annotation)称为元数据,它为我们在代码中添加信息提供了一种形式化的方法。注解是JDK1.5引入的,Java有一套注解,共有7个,3个在Java.lang中,4个在java.long.annotation中。

    作用在代码中的注解有三个,分别是:

    • @Override:重写标记,一般用在子类继承父类后,标注在重写过后的子类方法上。如果发现其父类,或者引用的接口没有该方法时编译报错。
    • @Deprecated:这个注解进行代码注释用的比较少,不推荐
    • @SuppressWarnings:这个注解的起到忽略编译器警告作用

    元注解有四个,元注解是用来标志注解的注解,分别是:

    1、@Retention:标识如何存储,是在代码中还是编入class文件中,或者是在运行是可以通过反射访问。

    • RetentionPolicy.SOURCE:注解只保留在源文件中,当Java文件编译成class文件的时候,注解被遗弃;
    • RetentionPolicy.CLASS:注解被保留在class文件中,但JVM加载class文件的时候被遗弃,这是默认的生命周期;
    • RetentionPolicy.RUNTIME:注解不仅被保存到class文件中,JVM加载class文件之后,依然存在;

    2、@Documented:标记这些注解是否包含在JavaDoc中。

    3、@Target:标记这个注解说明了Annotation类型所修饰的对象范围,Annotation可被拥有packagestypes(类、接口、枚举、Annotation类型)、类型成员(方法、构造方法、成员变量、枚举值)、方法参数和本地变量(如循环变量、catch参数),取值如下:

     1 package day04;
     2 
     3  
     4 
     5 public enum Demo02 {
     6 
     7     TYPE,
     8 
     9     FIELD,
    10 
    11     METHOD,
    12 
    13     PARAMETER,
    14 
    15     CONSTRUCTOR,
    16 
    17     LOCAL_VARIABLE,
    18 
    19     ANNOTATION_TYPE,
    20 
    21     PACKAGE,
    22 
    23     TYPE_PARAMETER,
    24 
    25     TYPE_USE
    26 
    27  
    28 
    29 }

    4、@Inherited:标记这个注解是继承于哪个注解类的。

    JDK1.7开始,又添加了三个额外的注解,分别是:

    • @SafeVarags:在声明可变参数的构造函数或方法时,Java编译器会报Unchecked警告。使用@SafeVarargs可以忽略这些警告。
    • @FunctionnalInterface:表明这个方法是一个函数式接口。
    • @Repeatable:标识某注解可以在同一个声明上使用多次。

    注意:注解不支持继承

    欢迎批评指正,提出问题,谢谢!
  • 相关阅读:
    WPF应用程序的生命周期
    问题解决(一)在ipad上通过safari浏览文档
    C#网络编程之TCP协议(一)
    认识webMethods
    sql存储过程与webMethods
    Start to study Introduction to Algorithms
    堆和栈的区别 (转贴)
    win7平台下使用MASMPlus搭建汇编环境
    makefile
    struct类型声明的疑问
  • 原文地址:https://www.cnblogs.com/xxeleanor/p/14351018.html
Copyright © 2011-2022 走看看