У меня есть два интерфейса Java и один реализующий класс.
(Я использовал Eclipse для прямого запуска программы и не пытался проверять какие-либо предупреждения компилятора и т. д. так далее путем явной компиляции из командной строки.)
Почему они запускаются без проблем? Почему Java позволяет это, даже если он удовлетворяет «контракту» обоих интерфейсов, но создает неоднозначность в реализации класса?
Обновлен пример.
public interface CassettePlayer {
void play();
}
public interface DVDPlayer {
void play();
}
public class CarPlayer implements CassettePlayer,DVDPlayer{
@Override
public void play() {
System.out.println("This plays DVD, screw you Cassette !");
}
public static void main(String args[]) {
CarPlayer cp = new CarPlayer();
cp.play();
CassettePlayer firstInterface = new CarPlayer();
firstInterface.play();
DVDPlayer secondInterface = new CarPlayer();
secondInterface.play();
}
}
Подробнее здесь: https://stackoverflow.com/questions/986 ... java-class
Два интерфейса с одинаковой сигнатурой метода, реализованные в классе Java. ⇐ JAVA
-
- Похожие темы
- Ответы
- Просмотры
- Последнее сообщение
-
-
Шаблон «Декоратор» «скрывает» интерфейсы, реализованные декорированными объектами.
Anonymous » » в форуме JAVA - 0 Ответы
- 13 Просмотры
-
Последнее сообщение Anonymous
-
-
-
Шаблон «Декоратор» «скрывает» интерфейсы, реализованные декорированными объектами
Anonymous » » в форуме JAVA - 0 Ответы
- 12 Просмотры
-
Последнее сообщение Anonymous
-