A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 方育伟 中级黑马   /  2015-9-8 22:10  /  728 人查看  /  5 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

class parent {
protected void eat() {}
}
class Child extends parent {
    ——————void eat() {}
}

为什么横线上什么也不填会报错。它默认的不也是protected

为什么还是这个提示?、
错误: Child中的eat()无法覆盖parent中的eat()
void eat() {}
      ^
  正在尝试分配更低的访问权限; 以前为protected

评分

参与人数 1黑马币 +18 收起 理由
张兵 + 18 很给力!

查看全部评分

5 个回复

倒序浏览
你不写,那就是默认修饰符,子类继承父类,你要么就是单纯的继承,要么就是重写父类的方法,你现在重写父类的方法,默认的权限小于了protected权限
回复 使用道具 举报
子类要覆盖父类方法,权限要大于等于才合适...
回复 使用道具 举报
子类默认为public,父类是protected,子类权限小于父类,当然覆盖不了
回复 使用道具 举报
访问权限 public > protected > 默认的 > private
回复 使用道具 举报
用public修饰子类就可以了
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马