为什么不能在Java / Android中实现另一个包中超类的受保护接口?当父母和孩子在同一个包裹中时,下面的代码将起作用。下面是一个简短的解释:
Parent.java
package package.example;
public class Parent {
protected interface MyInterface {
void method();
}
protected void protectedMethod() {
}
}
Child.java
package package.example.child;
import package.example.Parent;
public class Child extends Parent implements Parent.MyInterface { //not possible
@Override
public void method() {
}
@Override
public void protectedMethod() {
//This works
}
}
上面的代码将发出警告:'package.example.Parent.MyInterface'在'package.example.Parent'中具有受保护的访问权限。有人可以向我解释为什么这不可能吗?