该
@符号表示Java注释。Java注释的作用是,它为变量,方法,类,接口或其他语言元素添加了特殊的属性。(可以在声明注释时进行配置)。向某事物添加注释时,程序的其他部分可以检查某事物是否具有注释。然后,它可以使用此信息来完成所需的任何工作。
让我举几个例子:
该@Override
注解
public class SuperClass { public void someInterestingMethod() { System.out.println("Superclass!"); }}public class DerivedClass extends SuperClass { public void someInterestngMethod() { System.out.println("Derived class!"); }}当您这样做时:
SuperClass sc = new DerivedClass();sc.someInterestingMethod();
该
someInterestingMethod()呼叫应被动态调度,并打印
"Derivedclass!",对吗?好吧,派生类的方法实际上是拼写错误的,因此
DerivedClass得到了自己的单独方法
someInterestngMethod(),该方法与超类完全无关
someInterestingMethod()。因此,
someInterestingMethod()不再被覆盖,并且将调用超类的实现。
该
@Override关键字是为了与此帮助。它向编译器传达了您的意图,即您希望带注释的方法是祖先类方法之一的重载。如果不是(例如在这种错字情况下,或者
SuperClassAPI更改并重命名了方法),则将会使您的编译失败,以提醒您注意损坏的替代项。
该@SuppressWarnings
注解
这是一个方法:
public void someMethod() { int i;}将会有一个编译器警告说,
i从未使用过。因此,您可以
@SuppressWarnings在方法中添加来 禁止 显示警告:
@SuppressWarnings("unused")public void someMethod() { int i;}请注意,注释中有一个参数
@SuppressWarnings。一些注释具有参数,您可以在javadoc中查找它们。但是对于那些没有参数的对象,则不需要
()像方法那样添加。
您还可以声明自己的注释并使用反射进行检查。上面的2条注释将由编译器检查。



