почему мы не можем назначить более слабую привилегию в подклассе
У меня есть класс, у которого есть метод, чей спецификатор доступа по умолчанию является публичным. Теперь я хотел бы расширить этот класс в подклассе, и я хочу переопределить этот метод, чтобы иметь спецификатор доступа "private". При компиляции этого кода я получаю ошибку компиляции:
msgstr "попытка назначить более слабые права доступа".
Может кто-нибудь объяснить мне, что не так с назначением более слабых привилегий в подклассе?
Вот код, вызвавший ошибку компиляции:
class Superclass
{
void foo()
{
System.out.println("Superclass.foo");
}
}
class Subclass extends Superclass
{
private void foo()
{
System.out.println("Subclass.foo");
}
}