(我已經使用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();
}
}
+2
為什麼他們應該不會有問題?這就是問題;) –
2012-03-25 20:46:00
+1
如果你希望你可以用'sayHello'方法建立一個抽象類,并使'Sample'擴充抽象類。這也不會有問題。 –
2012-03-25 20:51:26
+0
感謝哥們,我有同樣的問題... –
2012-09-07 06:07:41