Java自带注解、元注解、自定义注解

注解是什么?百度百科:“用文字来解释字句”。如果翻译成编程语言来说,那么注解就是用代码解释代码,只是对代码进行一个简答的描述。

在java中,注解分为三种类型:自带注解、元注解、自定义注解。

  1. 自带注解

    java自带注解只有三个:@Override、@Deprecated、@SuppressWarnings

  2. 元注解

    元注解是注解的注解,常标注于自定义注解之前,用来对注解的一个简单描述。

    @Target(ElementType.METHOD)
    @Retention(RetentionPolicy.SOURCE)
    public @interface Override{   
    }
    

    元注解一共有四个:@Target、@Retention、@Inherited、@Documented

    @Target是自定义注释时必选的,表示该注解的作用目标。

    @Retention注解也是必选的,表示该注解的保留策略。

    @Inherited和@Documented是可选的元注解。

  3. 自定义注解

    声明语法:

    @Target(ElementType...)
    @Retention(RetentionPolicy...)
    权限修饰符 @interface 注解名称(){
        //注解体,可以定义属性
        属性类型 属性名() default 默认值;
    }
    

    属性声明格式:属性类型 属性名() default 默认值;

    属性类型:基本数据类型(byte、short、int、long、float、double、boolean、char)、Class、String、enum、Annotation、以及上述类型的数组形式。

    属性名():根据个人需求声明属性名。当属性只有一个的时候,一般属性名都写成value()。

    //Spring框架注解之Component
    @Target(ElementType.TYPE)
    @Retention(RetentionPolicy.RUNTIME)
    @Documented
    public @interface Component{ 
      String value() default "";
    }
    

在实际应用中,注解大多与反射结合使用。一般情况下,注解的使用是不影响代码的正常执行,它只是对代码做了一个简单的描述。但是通过注解+反射,就能够在编译时或者是运行时对代码的执行产生影响。

注解只提供对代码的描述,不影响代码的正常执行。影响代码执行的是通过反射获取注解中的属性

posted @ 2022-02-17 17:44  laluckystar  阅读(203)  评论(0)    收藏  举报