受保护的数据成员(方法)不能被子类访问到同一包中

时间:2019-05-30 00:17:54

标签: java package protected access-modifiers

我遇到与受保护的访问修饰符有关的问题。

package pack1;
public class A{
    protected void m1(){
        System.out.println("Protected method");
    }
}
package pack2;
import pack1.A;
class B extends A{
}
class C extends B{
    public static void main(String[] args){
        B b = new C();

        b.m1();// Error: method m1() is protected access  modifier in package pack 2
    }
}

为什么B类的方法即使存在于B类退出的同一软件包2中也无法访问?而且受保护的访问修饰符可在同一软件包中访问,那么为什么会发生此错误?

0 个答案:

没有答案