java学习:注解

1.注解,或者叫做注释类型,英文单词Annotation

2.注解Annotation是一种引用数据类型。编译之后也是生成xxx.class文件

3.注解语法格式

[修饰符列表] @interface 注解类型名{

}

4.注解怎么使用

注解使用的语法格式:

        @注解类型名

注解可以出现在类上,属性上,方法上,变量上,注解还可以出现在注解类型上

5.jdk自带的注解

  1. Deprecated

    1. 用 @Deprecated 注释的程序元素,不鼓励程序员使用这样的元素,通常是因为它很危险或存在更好的选择。在使用不被赞成的程序元素或在不被赞成的代码中执行重写时,编译器会发出警告。

  2. Override

    1. 表示一个方法声明打算重写超类中的另一个方法声明。如果方法利用此注释类型进行注解但没有重写超类方法,则编译器会生成一条错误消息。

  3. SuppressWarnings

    1. 指示应该在注释元素(以及包含在该注释元素中的所有程序元素)中取消显示指定的编译器警告。注意,在给定元素中取消显示的警告集是所有包含元素中取消显示的警告的超集。例如,如果注释一个类来取消显示某个警告,同时注释一个方法来取消显示另一个警告,那么将在此方法中同时取消显示这两个警告。

6.Override

  1. @Override这个注解只能注解方法
  2. @Override这个注解是给编译器参考的,和运行阶段没有关系
  3. 凡是java中的方法带有这个注解的,编译器都会进行编译检查,如果这个方法不是重写父类的方法,编译器报错
  4. 这个注解只是在编译阶段起作用,和运行期无关

7.元注解

  1. 用来标注注解类型的注解叫做元注解
  2. 常用的元注解
    1. Target
      1. 这是一个元注解,用来标注“注解类型”的注解
      2. 这个Target注解用来标注"被标注的注解“可以出现在哪些位置上
      3. @Target(ElementType.Method)
        1. 表示"被标注的注解“只能出现在方法上
    2. Retention
      1. 这是一个元注解,用来标注“注解类型”的注解
      2. 这个Retention注解用来标注"被标注的注解“最终保存到哪
      3. @Retention(RetentionPolicy.SOURCE)
        1. 表示该注解只被保存到java源文件中
      4. @Retention(RetentionPolicy.CLASS):表示该注解被保存在class文件中
      5. @Retention(RetentionPolicy.RUNTIME):表示该注解被保存到class文件中,并且可以被反射机制锁读取

8.Deprecated

  1. @Deprecated表示这个被注解的元素已过时

9.注解的属性

  1. 定义属性:
    public @interface MyAnnotation{
        String name();
        String value();
        int age() default 25;
    }
  2. 如果一个注解有属性,你必须给属性赋值,除非该属性使用default指定了默认值

    1. @MyAnnotation(name = "zhangsan","hu")
  3. 如果一个注解的属性的名字是value的话,并且只有一个的时候,在使用的时候,该属性名可以省略

  4. 注解中属性的类型可以是:

    1. byte

    2. short

    3. int

    4. long

    5. float

    6. double

    7. boolean

    8. char

    9. String

    10. Class

    11. 枚举类型

    12. 以及以上类型的数组形式

  5. 如果数组中是由一个元素,大括号可以省略

  6. boolean isAnnotation()
    1. 如果此 Class 对象表示一个注释类型则返回 true。注意,如果此方法返回 true,则 isInterface() 也返回 true,因为所有的注释类型同时也是接口
  7. <A extends Annotation> A getAnnotation(Class<A> annotationClass)
    1. 如果存在该元素的指定类型的注释,则返回这些注释,否则返回 null。
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值