注释是附加到类/方法/字段的元数据,框架可以使用它来确定围绕这些类/方法/字段的所需功能.
常见用途包括:
注释是一种Java功能,因此可以在Scala和Java中使用.
通常,注释使得可以将信息与定义相关联,例如类,方法或变量的定义.注释可以由编译器使用,也可以由程序的其他部分访问,例如在Java中:
@SuppressWarnings("deprecation")
void useADeprecatedMethod() {
someObj.someDeprecatedMethod();
}
Run Code Online (Sandbox Code Playgroud)
这里,@SuppressWarnings注释告诉编译器不要发出有关useADeprecatedMethod's使用的警告someDeprecatedMethod.
Java世界中的其他用途包括向类添加有关如何映射到关系数据库以供OR映射器(如Hibernate)使用的信息.
在Scala中,Java中的关键字或标记接口的许多内容在Scala中实现为注释.例如@throws,@serializable.
下面是一个示例,显示Scala和Java与注释的帮助一起工作.想象一下,我们将Person在Scala中定义一个类.当我们Person在Java中使用时,Java程序员将期望我们拥有setName和getNameJava一样的bean约定.这可以使用@BeanProperty注释来实现:
Scala中的Person类:
class Person {
@BeanProperty
var name = "Joe Bloggs"
}
Run Code Online (Sandbox Code Playgroud)
在Java中:
public void printPerson(Person p) {
// Scala added the getName method for us
System.out.println(p.getName());
}
Run Code Online (Sandbox Code Playgroud)