int divisor_sum(int n)
реализует метод интерфейса.Методы интерфейса имеют доступ public
(даже если вы не указали его явно), поэтому вы не можете уменьшить видимость метода в реализующем классе.
Обратите внимание на следующее:
MyCalculator mc = new MyCalculator();
AdvancedArithmetic aa = mc;
Если вы не предоставите divisor_sum()
методу в MyCalculator
классе уровень доступа public
, вы не сможете вызвать его через ссылку на класс (mc.divisor_sum(4)
), но вы сможете вызватьэто через ссылку на интерфейс (aa.divisor_sum(4)
).Это не имеет смысла, и поэтому не допускается.