我想我知道这里发生了什么。注释的实例实际上是具有唯一静态初始化程序的接口。注释规范在顶部添加的唯一内容是语法糖和方法,类或字段的链接。因此,当您键入时
value=c.A,几乎就像在注解中添加了静态初始化器一样。注释不是A的子类,因此访问被拒绝。受保护的访问包括程序包访问,因此,当您将A与B移到同一程序包中时,注释也与A在同一程序包中。它可以访问。很好的问题,我认为两个编译器的行为应该相同。我认为Eclipse将允许您自定义将其视为错误的内容,因此您也许可以使他们同意都使用不良的,限制性更强的行为。



