为了账号安全,请及时绑定邮箱和手机立即绑定

访问修饰符的问题

前面讲到,修饰缺省的成员在 本类 和 同包 中访问,protected修饰的成员可以在  本类、同包 和 子类访问。我在在同一个包下建立父类Animal(成员设置为default),子类都可以继承,我想是在同一个包内的缘故。

于是我另外建立了一个包,建立Animal类(我将成员设置成了protected,我以为可以被子类继承)的子类Dog类,eclipse报错,要求我将成员设置为public,或者用getter方法,这是为什么?protected的范围不是 本类、同包 和 子类吗?

正在回答

1 回答

你也说了你自己另外建立了一个包,这个包中又建立了 Dog类 这个时候 Dog 和 Animal 不在同一个包下面

所以这个时候Aniaml 和 Dog 不在同一个包下面

所以你用protected 修饰的属性当然不能被子类继承。

0 回复 有任何疑惑可以回复我~
#1

七九九 提问者

protected 的应用范围这个课程前面讲的是 本类、同包、子类。异包子类也是子类啊。难道说,protected不能被异包子类继承,但是可以在异包子类中引用?
2016-01-30 回复 有任何疑惑可以回复我~
#2

七九九 提问者

谢谢。测试完成,super可调用异包protected
2016-01-30 回复 有任何疑惑可以回复我~
#3

用户1152043 回复 七九九 提问者

刚才试了一下 异包子类可以调用父类的属性啊
2016-01-30 回复 有任何疑惑可以回复我~

举报

0/150
提交
取消
Java入门第二季 升级版
  • 参与学习       529867    人
  • 解答问题       6086    个

课程升级!以终为始告别枯燥,在开发和重构中体会Java面向对象编程的奥妙

进入课程

访问修饰符的问题

我要回答 关注问题
意见反馈 帮助中心 APP下载
官方微信