考虑以下代码:
Base.java
<form action="http://google.ca" method="post" target="_self">
<div>
<button>post</button>
</div>
</form>
Derived.java
package package1;
public class Base<I extends Base.Inner>{
protected static class Inner{}
}
基类编译没有问题。派生类的编译失败,第一个错误是
package package2;
public class Derived extends Base<Derived.Inner>{
static class Inner extends Base.Inner{}
}
我没有在代码中看到错误。请解释一下。 Derived.java:6: error: Inner has protected access in Base
public static class Inner extends Base.Inner{}
^
答案 0 :(得分:2)
要在protected
Base
类中使用Derived
中的Derived
东西(属性,内部类,方法),应该与{{ 1}}或应扩展Base
答案 1 :(得分:1)
此问题在版本9中得到了a javac bug的修复。