我是注释的新手。我已经阅读了许多解释注释概念的教程。但我无处可找到有关在类中定义多个注释的信息。所以请给我一些关于定义和访问多个注释的见解。下面是我在类中定义两个注释的代码,eclipse IDE给我一个错误“公共类型SampleAnn必须在它自己的文件中定义”..原因是什么这个错误是因为java约定“在类名的名称中每个类只应该有一个公共注释”?
@Documented
@Target(ElementType.LOCAL_VARIABLE)
@Inherited
@Retention(RetentionPolicy.RUNTIME)
public @interface MethodInfo{
int number1;
}
@Documented
@Target(ElementType.LOCAL_VARIABLE)
@Retention(RetentionPolicy.RUNTIME)
public @interface SampleAnn{
int number2;
}
答案 0 :(得分:2)
你是对的,你只能在一个文件中只有一个顶级类。
但你能做什么:
public class MyAnnotations {
public @interface SampleAnn { ... }
public @interface MethodInfo { ... }
}
答案 1 :(得分:1)
每个类文件通常应该有一个公共CLASS,并且注释也不例外。同样重要的是,任何公开定义的实体都与其java文件的名称相同,所以我不知道如何在同一个文件中有两个。
答案 2 :(得分:0)
注释需要位于单独的编译单元(文件)中。
规范所述的顶级类:
此限制意味着每个最多必须有一个这样的类型 编译单位。这种限制使Java编译器变得容易 在包中查找命名类。在实践中,许多程序员 选择将每个类或接口类型放在自己的编译中 单位,无论是公开的还是由其他代码引用的 编制单位。