Java学习————————————注解

    科技2022-07-11  100

    一、Java常用注解:

    1、@Override

    检测被该注解标注的方法是否继承于父类(接口)

     

    2、@Deprecated

    表示被标注的方法已过时

     

    3、@SuppressWarnings

    压制警告

     

    二、Java自定义注解

    1、格式

    (1)元注解:描述注解的注解

    常见:

    @Target:描述注解作用的位置

             ElementType.TYPE:作用于类

             ElementType.METHOD:作用于方法

             ElementType.FIELD:作用于成员变量

    @Retention:描述注解被保留的阶段

            RetentionPolicy.RUNTIME:当前被描述的注解,会保留到class字节码文件中,并被JVM读取到

    @Documented:描述注解是否被生成到API文档中

    @Inherited:描述注解是否被子类继承

    (2)public @interface 注解名称{

     属性列表

    }

     

    2、反编译注解代码

    E:\Java\documents\JavaFiles\DAY43\src\111>javac Myannotation.java

    E:\Java\documents\JavaFiles\DAY43\src\111>javap Myannotation.class Compiled from "Myannotation.java" public interface Myannotation extends java.lang.annotation.Annotation { }

    注:注解本质为一个接口,默认继承Annotation接口(java.lang.annotation.Annotation)

    属性:接口中可定义的抽象方法

    1)属性的返回值类型

    基本数据类型

    String

    枚举

    注解

    以上类型的数组

    2)使用属性时需要赋值

    2.1在使用时需要给属性赋值,或者加上default

    2.2若只有一个属性需要赋值,且属性名为value,则value可省略

    2.3数组赋值时,值放在{}里面。若数组只有一个值,则{}可省略

    package annotation;

    public @interface MyAnno {

        int method();     String method2() default "丁丁"; //     //    Person person(); //    MA2 ma2(); //     //    String[] strings(); }

     

    package annotation;

    public class Demo2 {

        @MyAnno(method = 1)     public void method1() {              } }

     

    3、使用注解:获取注解定义的属性值

    3.1获取注解定义的位置的对象

    3.2获取指定的注解

    3.3调用注解的抽象方法来获取配置的属性值

     

     

     

     

    Processed: 0.024, SQL: 8