от А java tutorialПереопределения методы из разных классов в Java
подкласс в пределах того же пакета в качестве родительского класса этого экземпляра может переопределить любой метод суперкласса, который не объявлен частным или окончательными.
Подкласс в другой упаковке может переопределять не конечные методы, объявленные публичными или защищенными.
В чем разница то? Если метод не объявлена частным, то он должен быть открытым или защищенным нет?