黑马程序员技术交流社区

标题: 大神在哪里?求解答??? [打印本页]

作者: 方育伟    时间: 2015-9-8 22:10
标题: 大神在哪里?求解答???
class parent {
protected void eat() {}
}
class Child extends parent {
    ——————void eat() {}
}

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

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


作者: 殷俊    时间: 2015-9-8 23:21
你不写,那就是默认修饰符,子类继承父类,你要么就是单纯的继承,要么就是重写父类的方法,你现在重写父类的方法,默认的权限小于了protected权限
作者: xiaoxiao147    时间: 2015-9-8 23:42
子类要覆盖父类方法,权限要大于等于才合适...
作者: yangshibai    时间: 2015-9-9 13:38
子类默认为public,父类是protected,子类权限小于父类,当然覆盖不了
作者: pegasus    时间: 2015-9-9 13:46
访问权限 public > protected > 默认的 > private
作者: 0825梁磊    时间: 2015-9-9 13:51
用public修饰子类就可以了




欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2