关于protected关键字
protected,算是默认的访问作用域的超集,他们在相同包下时,都可以访问所声明的成员;但对于不同包的访问,默认访问域就不行,protected也必须是通过继承关系来访问。
TestBase base= new Child();
base.printProtected(); //编译报错
这个会出错,是因为你在不同包里访问TestBase声明的printProtected方法,所以不行,可以在你子类的printProtected通过super来访问父类的方法。