java注解相关知识

1、注解,或者叫做注释

2、注解Annotation是一种引用数据类型。编译之后生成*.class

3、怎么自定义注解呢?语法格式?
    [修饰符列表]@interface 注解类型名{

    }

4、注解怎么使用,用在什么地方?
    第一:注解使用时的语法格式是:
        @注解类型名

    第二:注解可以出现在类上、属性上、方法上、变量上等.....
    注解还可以出现在注解类型上。

5、JDK内置了那些注解呢?

    java.lang包下的注释类型
    Deprecated 注释@Deprecated的程序元素是程序员
    不鼓励使用的程序元素,通常是因为它是危险的,或者因为存在更好的替代方法。

    Override 表示方法声明旨在覆盖超类型中的方法声明。

    SuppressWarnings 表示在注释元素(以及注释元素中包含的所有程序元素)中应该抑制命名的编译器警告。

6、元注解
    什么是元注解?
        用来标注注解类型的注解称为元注解

    常见的元注解?
        Target
        Retention

    关于Target注解:
        这是一个元注解,用来标注“注解类型”的“注解”
        这个Target注解用来标注“被标注的注解”可以出现在那些位置上?
        @Target({ElementType.METHOD}):表示“被标注的注解”只能出现在方法上。

    关于Retention注解;
        这是一个元注解,用来标注“注解类型”的“注解”
        这个Retention注解用来标注“被标注的注解”最终保留在哪里?
        @Retention(RetentionPolicy.SOURCE):表示该注解只被保留在java源文件中。
        @Retention(RetentionPolicy.CLASS):表示该注解只被保留在class文件中。
        @Retention(RetentionPolicy.RUNTIME):表示该注解只被保留在java源文件中,并且可以被反射机制所读取。

7、Retention源代码
    //元注解
    public @interface Retention {

        //属性
        RetentionPolicy value();
    }

    RetentionPolicy源代码
        public enum RetentionPolicy {
            SOURCE,
            CLASS,
            RUNTIME;

            private RetentionPolicy() {
            }
        }
8、Target源代码
    public @interface Target {
        ElementType[] value();
    }

    ElementType[]源代码:
        public enum ElementType {
            TYPE,
            FIELD,
            METHOD,
            PARAMETER,
            CONSTRUCTOR,
            LOCAL_VARIABLE,
            ANNOTATION_TYPE,
            PACKAGE,
            TYPE_PARAMETER,
            TYPE_USE,
            MODULE;

            private ElementType() {
            }
        }

9、注解在开发中有什么用呢?
    需求:
        假设有这样一个注解,叫做@Id
        这个注解只能出现在类上面,当这个类上有这个注解的时候,
        要求这个类中必须有一个int类型的id属性,如果没有这个属性
        就报异常,如果有这个属性就正常执行

  • 5
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值