В «Язык программирования Java ™, четвертое издание» Кен Арнольд, Джеймс Гослинг, Дэвид Холмс, его упоминали, что:Java Интерфейс: Наследование, Переопределение и методы
пункт: (4.3.2) «Аналогично, если интерфейс наследует более одного метода с одной и той же сигнатурой или если класс реализует разные интерфейсы, содержащие метод с одной и той же сигнатурой, существует только один такой метод. Реализация этого метода в конечном итоге определяется класс, реализующий интерфейсы, и там нет никакой двусмысленности. Если методы имеют одну и ту же подпись, но разные типы возвращаемых данных, то один из типов возвращаемых данных должен быть подтипом всех остальных, иначе ошибка компиляции. Реализация должна определить метод, который возвращает этот общий подтип «.
Может кто-нибудь дать мне пример кода, который обосновывает точки выше пункта?
Я попытался написать код и проверить, что упомянуто но я получаю ошибка времени компиляции суб-интерфейс скрывает метод базового интерфейса так можно реализовать только метод суб-интерфейс.
заранее спасибо. -Arun
Можете ли вы показать код? –
опубликуйте свой код и ваши ошибки в компиляторе, по крайней мере, дайте нам что-то (а) воспроизвести проблему; и (б) перейти оттуда. – corlettk
Все, кого мне очень жаль - я пытался проверить, что было упомянуто в вышеупомянутом пара, используя j2sdk1.4.2_08 - я не понимал, что книга написана для JDK1.5 Так что это означает, что если вы скомпилируете фрагмент кода «Daniel Schneller» с помощью JDK1.4 вы получите «ImplementationOfAandB.java:17: methodB() в ImplementOfAandB не может реализовать methodB() в InterfaceA, пытаясь использовать несовместимый тип возвращаемого типа», тогда как с JDK1.5 он просто запускается хорошо. – akjain