说我有一个注释@Annotate和一个类A。如何检查是否@Annotate仅在类A及其子类上使用(可能在编译时)?
因此,如果我们有:
/* Example 1 */
public class A {
}
public class B extends A {
}
public class C {
}
我如何检查可以注释的类A和类B,@Annotate但C不允许使用类(可能会引发编译错误)。
如果我们决定在编译时进行检查:
/* Example 2 */
public class A {
}
@Annotate
public class B extends A {
}
示例2不会引发编译时错误,因为@Annotate它用于的子类A。但是,示例3将引发编译错误,因为@Annotate未在的子类上使用它A。
/* Example 3 */
@Annotate
public class C {
}
但是,无论如何都不必在编译时进行检查。我个人认为这样做是有意义的。
慕码人2483693
相关分类