Два интерфейса с одинаковой сигнатурой метода, реализованные в классе Java.JAVA

Программисты JAVA общаются здесь
Ответить
Anonymous
 Два интерфейса с одинаковой сигнатурой метода, реализованные в классе Java.

Сообщение Anonymous »

У меня есть два интерфейса 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
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «JAVA»