Обложка канала

Java библиотека

12847 @javalib

Всё для Java разработчиков.

Java библиотека

4 года назад
Открыть в
Можно ли сузить уровень доступа/тип возвращаемого значения при переопределении метода? • При переопределении метода нельзя сузить модификатор доступа к методу (например с public в MainClass до private в Class extends MainClass). • Изменить тип возвращаемого значения при переопределении метода нельзя, будет ошибка attempting to use incompatible return type. • Можно сузить возвращаемое значение, если они совместимы. Например: public class Animal { public Animal eat() { System.out.println("animal eat"); return null; } public Long calc() { return null; } } public class Dog extends Animal { public Dog eat() { return new Dog(); } /*attempting to use incompatible return type public Integer calc() { return null; } */ }