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