无法在另一个包中实现超类的受保护接口

时间:2019-02-01 13:36:29

标签: java android

为什么不能在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'中具有受保护的访问权限。有人可以向我解释为什么这不可能吗?

0 个答案:

没有答案