Java笔记14——注解

本文详细介绍了Java注解的使用,包括Override注解用于方法重写、Deprecated表示元素过时、Retention控制注解保存位置。还涵盖了元注解Target和Retention的用法,以及注解属性的设置和类型。
摘要由CSDN通过智能技术生成

概论

  1. 注解,或者叫注释,英文单词是:Annotation

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

  3. 怎么自定义注解呢?语法格式?

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

    }

  4. 注解怎么使用,用在什么地方?

    • 注解使用时的语法格式是: @注解类型名

    • 注解可以出现在类上、属性上、方法上变量上等。。。

      注解还可以出现在注解类型上

  5. JDK内置了哪些注解呢?

    lang包下的

    掌握:
    Deprecated 用 @Deprecated 注释的程序元素,
    不鼓励程序员使用这样的元素,通常是因为它很危险或存在更好的选择。

    掌握:
    Override 表示一个方法声明打算重写超类中的另一个方法声明。

    不用掌握:
    SuppressWarnings 指示应该在注释元素(以及包含在该注释元素中的
    所有程序元素)中取消显示指定的编译器警告。

Override

标示性注解,给编译器作参考的,编译器看到这个方法上有注解的时候,编译器会自动检查该方法是否重写了父类的方法

这个注解只是在编译时起作用,与运行时无关

Override这个注解只能注解方法

Override这个注解是给编译器参考的,和运行阶段没有关系.

凡是java中的方法带有这个注解的,编译器都会进行编译检查,如果这个方法不是重写父类方法,编译器报错

  • 元注解:用来标注注解类型的注解,称为元注解
  • 常见的元注解有哪些? Target Retention

Target注解

这是一个元注解,用来标注"注解类型"的"注解",这个Target注解用来标注"被标注的注解"可以出现在哪些位置上

@Target(ElementType.METHOD) :表示"被标注的注解"只能出现在方法上

Retention注解

源代码

		//元注解	
		public @interface Retention {
			//属性
			RetentionPolicy value();
		}

这是一个元注解,用来标注"注解类型"的"注解"

这个Retention注解用来标注"被标注的注解"最终保存在哪里.

Retention(RetentionPolicy.SOURCE):表示该注解只被保留在java源文件中

Retention(RetentionPolicy.CLASS):表示该注解被保存在class文件中

Retention(RetentionPolicy.RUNTIME):表示该注解被保存在class文件中,并且能被反射机制读取到

Deprecated注解

Deprecated这个注解标注的元素已过时

这个注解主要是向其他程序员穿第一个信息,告知已过时,有更好地解决方案存在

@Target(ElementType.METHOD):表示“被标注的注解”只能出现在方法上。@Target(value={CONSTRUCTOR, FIELD, LOCAL_VARIABLE, METHOD, PACKAGE, MODULE, PARAMETER, TYPE})
表示该注解可以出现在:
构造方法上
字段上
局部变量上
方法上

类上…

注解中的属性

如果一个注解当中有属性,那么必须给属性赋值,(除非该属性使用default设定了默认值)

public @interface AnnotationTest02 {
    String name();  //注解中的属性,看起来像方法
    int i() default 0;  //设置默认值,就可以不赋值了
}
  @AnnotationTest02(name="张三")
    public void dosome(){

    }

如果一个注解的属性的名字是value的话,并且只有一个属性,在使用的时候,该属性名可以省略

注解中的属性可以使哪一种类型?

八个基本数据类型+String+Class +枚举类型以及以上每一种数组形式

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 3
    评论
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值