小编典典
该@符号表示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()呼叫应被动态调度,并打印"Derived
class!",对吗?好吧,派生类的方法实际上是拼写错误的,因此DerivedClass得到了自己的单独方法someInterestngMethod(),该方法与超类完全无关someInterestingMethod()。因此,someInterestingMethod()不再被覆盖,并且将调用超类的实现。
该@Override关键字是为了与此帮助。它向编译器传达了您的意图,即您希望带注释的方法是祖先类方法之一的重载。如果不是(例如在这种错字情况下,或者SuperClassAPI更改并重命名了方法),则将会使您的编译失败,以提醒您注意损坏的替代项。
该@SuppressWarnings注解
这是一个方法:
public void someMethod() {
int i;
}
将会有一个编译器警告说,i从未使用过。因此,您可以@SuppressWarnings在方法中添加来 禁止 显示警告:
@SuppressWarnings("unused")
public void someMethod() {
int i;
}
请注意,注释中有一个参数@SuppressWarnings。一些注释具有参数,您可以在javadoc中查找它们。但是对于那些没有参数的对象,则不需要()像方法那样添加。
您还可以声明自己的注释并使用反射进行检查。上面的2条注释将由编译器检查。
2020-10-20