考虑这段代码:
基础.java
package package1;
public class Base<I extends Base.Inner>{
protected static class Inner{}
}
Derived.java
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{}
^
我没有看到代码中的错误。请解释一下。 JDK 1.8.0_40
最佳答案
能够在 Derived
Derived
中使用 Base
中的 protected
内容(属性、内部类、方法) > 类应该与 Base
在同一个包中,或者应该扩展 Base
关于java - 继承静态保护内部类,javac报错,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53587425/