protected,算是默认的访问作用域的超集,他们在相同包下时,都可以访问所声明的成员;但对于不同包的访问,默认访问域就不行,protected也必须是通过继承关系来访问。

TestBase base= new Child();

base.printProtected();    //编译报错

这个会出错,是因为你在不同包里访问TestBase声明的printProtected方法,所以不行,可以在你子类的printProtected通过super来访问父类的方法。

05-11 11:23