我正在尝试为不同的方法和类创建一个注释,以编程方式跟踪所有规则,因此我可以将它们显示给用户。
我希望注释类Rule
记录使用注释的所有位置。作为第一步,我尝试在课程中添加一个静态计数器,这里是Rule
注释的样子:
public @interface Rule {
static int count = 0;
String name();
String description(); //Note the parentheses
public Rule(String name, String description) {
count++;
this.name = name;
this.description = description;
}
}
我使用它的方式是这样的:
public class Airline {
private String code;
@Rule(name = "Formatted Code", description = "e.g. Format 'la' as 'LA'")
public String codeFormatted() {
return code.toUpperCase();
}
public static void main(String args[]) {
System.out.println(Rule.count);
}
}
如果没有Rule
公共构造函数,则使用javac
版本1.8.0_162进行编译。
当我添加公共构造函数(以递增Rule.count)时,我得到编译器错误:
javac Rule.java
Rule.java:6: error: <identifier> expected
public Rule(String name, String description) {
^
1 error
Compilation exited abnormally with code 1 at Thu Mar 22 19:58:39
我的Rule
构造函数中缺少什么?
或者,这是一个完全荒谬的想法,我应该感觉不好?我不能说,仍然习惯于注释。