Java 注解

Annotation,注解。

常见注解:

1、@Override

限定重写父类的方法。@Override相当于告诉编译器检查这个方法,要保证父类包含一个被该方法重写的方法,否则会编译出错。

主要是为了避免一些低级错误,比如要重写父类的info()方法,我们一不小心写成了inf0(),并不会报错,加上@Override后则会提示错误。

@Override只能修饰方法

2、@Deprecated

表示某个程序元素已经过时,不再推荐使用。

功能和文档注释的@deprecated相同,但@deprecated只能放在文档注释中,@Deprecated直接修饰程序单元,比如类、接口、方法等。

1   @Deprecated(since = "9",forRemoval = true)

有两个可选参数:since表示从哪个JDK版本起就不再推荐使用了,forRemoval表示未来是否会删除此xx,true表示未来会被删除。

3、@SuppressWarnings

抑制编译器警告。指定编译器不发出/忽略某方面的警告。

1   @SuppressWarnings(value = "unchecked")   

有一个必须参数:value,指定编译器不发出/忽略哪些警告。“unchecked”是不发出、忽略所有警告。

4、@SafeVarargs

抑制堆污染警告。作用和上一个相同,只是@SafeVarargs专用于堆污染警告。

 堆污染(heap pollution):传入的参数不是指定的类型。比如某个方法需要传入List<Integer>类型的参数,我们传入一个List<String>类型的参数,就会造成堆污染,编译会报错。

原文地址:https://www.cnblogs.com/chy18883701161/p/10901773.html