子类始终可以扩大访问修饰符,因为它仍然是超类的有效替代。从Java规范中有关覆盖和隐藏的需求:
覆盖或隐藏方法的访问修饰符(第6.6节)必须至少提供与覆盖或隐藏方法相同的访问权限,如下所示:
- 如果覆盖或隐藏方法是公共的,则覆盖或隐藏方法必须是公共的;否则,将发生编译时错误。
- 如果覆盖或隐藏方法受到保护,则覆盖或隐藏方法必须受到保护或公开;否则,将发生编译时错误。
- 如果覆盖或隐藏方法具有默认(程序包)访问权限,则覆盖或隐藏方法不能为私有方法;否则,不能为私有方法。否则,将发生编译时错误。

子类始终可以扩大访问修饰符,因为它仍然是超类的有效替代。从Java规范中有关覆盖和隐藏的需求:
覆盖或隐藏方法的访问修饰符(第6.6节)必须至少提供与覆盖或隐藏方法相同的访问权限,如下所示:
- 如果覆盖或隐藏方法是公共的,则覆盖或隐藏方法必须是公共的;否则,将发生编译时错误。
- 如果覆盖或隐藏方法受到保护,则覆盖或隐藏方法必须受到保护或公开;否则,将发生编译时错误。
- 如果覆盖或隐藏方法具有默认(程序包)访问权限,则覆盖或隐藏方法不能为私有方法;否则,不能为私有方法。否则,将发生编译时错误。