• JavaEE之注解


    1注解:Annotation注解,是一种代码级别的说明。它是JDK1.5及以后版本引入的一个特性,与类、接口、枚举是在同一个层次,给计算机,JVM提供解读信息的.

    2注解的作用:编译检查:代码分析,编写文档:

    注解的作用域:可以定义在类上,方法上,代码上

    同一个位置只能使用一次,同一个注解

    常用注解:

    @Deprecated可以用来修饰类,表示已经过时的类;也可以用来修饰方法,表示已经过时的方法

    @Override:用来测试方法是否为重写的方法

    JDK1.5时,@Override只能检测类继承类重写的方法

    * JDK1.6及以上,@Override即能检测类继承类重写的方法,又能检测类实现接口重写的方法

    @SuppressWarnings 表示抑制警告,被修饰的类或方法如果存在编译警告,将被编译器忽略

            deprecation ,或略过时rawtypes ,忽略类型安全

            unused ,忽略不使用unchecked ,忽略安全检查

            null,忽略空指针serial, 忽略序列号all,忽略所有

    自定义注解

    定义注解使用关键字: @interface

    注解的属性相当于类中的成员变量和成员方法

    属性格式:修饰符 返回值类型 属性名()  [default 默认值]

    修饰符:默认值 public abstract ,写不写都是public abstract。

    返回值类型:基本类型、字符串String、Class、注解、枚举,以及以上类型的一维数组

    属性名:自定义

    default 默认值:[default 属性值]可以省略,[]不写入程序中

    元注解

    元注解:用来修饰自定义注解的JDK提供的注解

    @Retention 用于确定被修饰的自定义注解生命周期如果注释类型声明中不存在 Retention 注释,则保留策略默认为

    RetentionPolicy.CLASS

    RetentionPolicy.SOURCE 被修饰的注解只能存在源码中,字节码class没有。用途:提供给编译器使用。

    RetentionPolicy.CLASS 被修饰的注解只能存在源码和字节码中,运行时内存中没有。用途:JVM java虚拟机使用

    RetentionPolicy.RUNTIME 被修饰的注解存在源码、字节码、内存(运行时)。用途:取代xml配置

    @Target 用于确定被修饰的自定义注解使用位置

    如果注释类型声明中不存在 Target 元注释,则声明的类型可以用在任一程序元素上。

    ElementType.TYPE 修饰类、接口

    ElementType.CONSTRUCTOR  修饰构造

    ElementType.METHOD 修饰方法

    ElementType.FIELD 修饰字段

    自定义注解的解析

    自定义注解的解析:使用自定义注解,获取自定义注解的属性值

    和解析有关的接口:

     *java.lang.reflect.AnnotatedElement接口

     *所有已知实现类:

     * AccessibleObject, Class, Constructor, Field, Method, Package

     *接口中的方法:

     *boolean isAnnotationPresent(Class annotationClass)

     *如果指定类型的注释存在于此元素上,则返回 true,否则返回 false。

     *判断(Constructor, Field, Method...)有没有指定的注解

     *参数:注解的class文件对象,可以传递

    MyAnnotation03.class(String.class,int.class)

     *T getAnnotation(Class<T> annotationClass)

     *如果存在该元素的指定类型的注释,则返回这些注释,否则返回 null。

     *获取(Constructor, Field, Method...)上的注解,参数传递的是哪个注解的class文件对象,就获取哪个注解

     *参数:注解的class文件对象,可以传递MyAnnotation03.class

  • 相关阅读:
    python3-返回函数
    python3-sorted
    python3-filter
    学习笔记134—word里如何在□里打√!框框里打勾!!!!!
    学习笔记133—型号最全的海信电视root教程及root工具下载
    学习笔记132—英文写作n个细节注意事项
    学习笔记131— Manuals for Tencent meeting (english)
    学习笔记130— 解决No module named 'sklearn.cross_validation'
    学习笔记129—电脑其他声音都正常,只有网易云音乐突然没声音了 急死人
    学习笔记128—PS 不改变像素的情况下,变换照片内存大小
  • 原文地址:https://www.cnblogs.com/outsidersblogs/p/6947426.html
Copyright © 2020-2023  润新知