Java中的注解Annotation
基本Annotation
- @Override
- @Deprecated
- @SuppressWarnings
- @SafeVarargs
@Override用来指定方法重载,它可以强制一个子类必须覆盖父类的方法。
- 主要是帮助我们避免一些低级错误,例如:父类中有个run()方法,子类中的方法名不小心写成了runn(),在程序编译时候会报错提示。
- 只能作用于方法,不能作用于其他程序元素。
@Deprecated用于表示某个元素(类、方法等)已过时,当其他程序使用已过时的类、方法时,编译器将会给出警告。
- 虽然出现警告,但不影响使用,使用还是可以使用的
1 | //父类,其中标记为test()方法是过时方法。 |
@SuppressWarnings指示被该Annotation修饰的程序元素(以及该程序的所有子元素)取消显示指定的编译器警告。
- 如果使用了带@Deprecated注释的方法,编译器将在调用此方法的地方出现警告信息。将@SuppressWarnings(“deprecation”)放在调用过时方法的那个类上,则警告信息去掉。
1 | public class SupperClass { |
SafeVarargs在声明具有模糊类型(比如:泛型)的可变参数的构造函数或方法时,Java编译器会报unchecked警告。
- 这类情况,如果确定声明的构造函数和方法的主体不会对其varargs参数执行潜在的不安全的操作,可使用@SafeVarargs进行标记,这样的话,Java编译器就不会报unchecked警告。
- 对于非static或非final声明的方法,不适用,会编译不通过。如果要抑制unchecked警告,可以使用@SuppressWarnings注解:@SuppressWarnings(“unchecked”)
All articles in this blog are licensed under CC BY-NC-SA 4.0 unless stating additionally.