为什么我们不能在子类中分配较弱的权限
我有一个类,它有一个方法,默认情况下,其访问说明符是公共的。现在,我想在子类中扩展这个类,并且我想重写此方法以获得访问说明符“private”。编译此代码时,我收到编译错误:
“试图分配较弱的访问权限”。
有人可以向我解释一下在子类中分配较弱的权限有什么问题吗?
以下是导致编译错误的代码:
class Superclass
{
void foo()
{
System.out.println("Superclass.foo");
}
}
class Subclass extends Superclass
{
private void foo()
{
System.out.println("Subclass.foo");
}
}