gpt4 book ai didi

Java 注解无法从上层类访问 protected 静态字段

转载 作者:搜寻专家 更新时间:2023-11-01 01:45:51 24 4
gpt4 key购买 nike

此代码有效吗?

public abstract class A {
protected static final String c = "my const";
}

@myAnnotation(value=A.c)
public class B extends A {

}
使用 JDK 1.6.0.23 的

Eclipse 接受这个,但是使用 JDK 1.6.0.23 的 Maven 2.2.1 显示以下编译错误:

c has protected access in A

最佳答案

感谢@adranale 的评论,我在 Access Control 上的 Java 语言规范部分找到了不同的答案。 .我不认为它应该以这种方式工作,但有关“ protected ”的相关文本读取

令 C 为声明 protected 成员 m 的类。仅允许在 C 的子类 S 的主体内访问。

类的主体是大括号中的所有代码。类注释在花括号之外,因此它们无权访问。有趣的是,此逻辑不适用于类主体内的方法、参数、字段或局部变量注释。

关于Java 注解无法从上层类访问 protected 静态字段,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10814176/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com