Java 系统注解
为什么用?:
好处:使用系统定义的注解,可以在编译时对程序进行检查。
注解用在包、类、字段、方法、局部变量、方法参数等的前面,对这些元素进行说明和注释。
@Override
@Override用来修饰一个方法,这个方法必须是对父类方法的重写。如果一个方法没有重写父类的方法,使用这个注解时便提起将提示错误。
在子类中重写父类或接口的方法时,建议使用这个注解。
//不使用注解的情况下
package test;public class SuperOverride {public void method() {System.out.println("父类方法");}
}package test;
//需要重写父类的method方法,但是子类写成Method了,
//此时编译器就不会报错,你就没法发现:子类没有重写父类的method方法。public class SubOverride extends SuperOverride{public void Method() {System.out.println("子类方法");}
}package test;public class OverrideTest {public static void main(String args[]) {SuperOverride sover = new SubOverride();sover.method();//输出:父类方法}
}
不使用注解@Override的情况下,需要重写父类的method方法,但是子类写成Method了,此时编译器就不会报错,你就没法发现:子类没有重写父类的method方法。编译器就不会报错。
但是使用注解@Override的情况下:子类本来是要重写父类的method方法,但是由于程序员的疏忽,把method写成Method了,此时编译器就会报错,这样的话,就减少了我们写出bug的几率。
@Deprecated
@Deprecated可以用来注解不再使用以及过时的类、方法、属性。如果代码使用了Deprecated注解的类、方法、属性,编译器会给出警告。
使用@Deprecated建议使用对应的@deprecated JavaDoc符号说明这个类、方法、属性替代方案及原因。
@Deprecated
/**
@deprecated 这个类有缺陷,使用新的NewDeprecatedTest类替代他
*/
public class DeprecatedTest{....//省略
}
@SuppressWarnings
抑制编译器生成警告信息。它修饰的元素为类、方法、方法参数、属性、局部变量。
当方法调用过时的方法或进行不安全类型转换时,编译器会生成警告,此时可以为这个方法增加@SuppressWarnings注解。