在java中@符号是什么意思?
我知道出于文档目的,它在注释中的含义,但除此之外,它意味着什么?(我通常只是谷歌这个,但每个非字母符号都会显示在结果中)
我知道出于文档目的,它在注释中的含义,但除此之外,它意味着什么?(我通常只是谷歌这个,但每个非字母符号都会显示在结果中)
该符号表示 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()
关键字旨在帮助您做到这一点。它向编译器发出您的意图信号,您希望带注释的方法成为祖先类方法之一的重载。如果不是(例如,在此拼写错误情况下,或者如果 API 更改并重命名了该方法),则编译将失败,以提醒您注意损坏的覆盖。@Override
SuperClass
@SuppressWarnings
这是一个方法:
public void someMethod() {
int i;
}
将有一个编译器警告,说永远不会使用。因此,您可以将 添加到该方法以禁止显示警告:i
@SuppressWarnings
@SuppressWarnings("unused")
public void someMethod() {
int i;
}
请注意,批注中有一个参数。有些注释有参数,你可以在javadoc中查找它们。但是对于那些没有参数的人,你不需要像方法一样添加。@SuppressWarnings
()
您还可以声明自己的批注,并使用反射来检查它们。上述2个注释将由编译器检查。
@ 符号用于指定 Java 注释。
https://en.wikipedia.org/wiki/Java_annotation
有内置的Java注释和用户定义的自定义注释。
注释以各种方式使用,例如抑制警告,将方法与URI(Servlet),将变量与资源(JNDI)相关联等