为什么需要公共访问权限才能编译此代码?

时间:2019-05-06 23:20:47

标签: java access-modifiers

在此Java练习考试中,提供了以下代码:

abstract class Planet {
  protected void revolve() {} //line n1
  abstract void rotate(); //line n2
}

class Earth extends Planet {
  void revolve() {} //line n3
  protected void rotate() {} //line n4
}

此考试指定将line n3更改为公开将允许代码进行编译,这是有道理的,因为它将解决可见度降低的问题。 但是,这也表明将line n2更改为public将允许代码进行编译。由于子类的可见性降低,这不会产生编译错误吗?

0 个答案:

没有答案