【暑期实训】【4-1】Java注解(一)

简述

从Java5开始,Java开始支持注解。注解可以标注在类、方法、参数、变量声明等位置,用于告知编译器或某些类更多的信息。

内置注解

java.lang

  • Override:标注在方法上,提示编译器该方法是重写自父类或接口的方法。如果父类或接口中没有签名一致的方法时,会报编译错误。
  • Deprecated:标注在类、属性、方法等位置,提示编译器指定内容已经过时,不推荐使用。当使用了被Deprecated标注的内容时,编译器会报警告。
  • SuppressWarnings:标注在类、属性、方法等位置,提示编译器忽略指定警告。SuppressWarnings通过value来指定忽略的警告。
  • SafeVarages:从Java7开始支持,表示忽略任何使用参数为泛型变量的方法或构造函数调用产生的警告。
  • FunctionalInterface:从Java8开始支持,标识一个匿名函数或函数式接口。

java.lang.annotation

  • Retention:标注在注解上,说明该注解应当如何保存。(三个可选项,只在源码中、编译到类文件中、运行时可以反射访问)。
  • Documented:标注在注解上,说明该注解应当包含在用户文档(如javadoc)中。
  • Target:标注在注解上,说明该注解可以被标注在什么位置。
  • Inherited:标注在注解上,标记该注解继承自哪个注解类。
  • Repeatable:从Java8开始,标识某个注解可以在同一声明上使用多次。

自定义注解

与接口定义类似,区别仅在于需在interface关键字前加@符号。

@Retention(RetentionPolicy.SOURCE)
@Target(ElementType.TYPE)
public @interface MyAnnotation {
	String value() default "";
}

为了完善注解的信息,一般情况下需要添加Retention注解和Target注解。如果注解需要某些参数,可以在注解内添加方法。这些方法的返回值应当是字符串或基本类型,并且没有参数。一般情况下,需要为每个方法设定默认值。
使用注解时,可以直接@注解名使用。后面可以加括号来为每个属性赋值。当只需要为value属性赋值时,可以只写值。

@MyAnnotation
@MyAnnotation(value = "test")
@MyAnnotation("test")
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值