七九九
2016-01-29 23:15
前面讲到,修饰缺省的成员在 本类 和 同包 中访问,protected修饰的成员可以在 本类、同包 和 子类访问。我在在同一个包下建立父类Animal(成员设置为default),子类都可以继承,我想是在同一个包内的缘故。
于是我另外建立了一个包,建立Animal类(我将成员设置成了protected,我以为可以被子类继承)的子类Dog类,eclipse报错,要求我将成员设置为public,或者用getter方法,这是为什么?protected的范围不是 本类、同包 和 子类吗?
你也说了你自己另外建立了一个包,这个包中又建立了 Dog类 这个时候 Dog 和 Animal 不在同一个包下面
所以这个时候Aniaml 和 Dog 不在同一个包下面
所以你用protected 修饰的属性当然不能被子类继承。
Java入门第二季 升级版
530650 学习 · 6091 问题
相似问题