天天看點

寫出一下Java方法對應的簽名_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();

}

}

+2

為什麼他們應該不會有問題?這就是問題;) –

2012-03-25 20:46:00

+1

如果你希望你可以用'sayHello'方法建立一個抽象類,并使'Sample'擴充抽象類。這也不會有問題。 –

2012-03-25 20:51:26

+0

感謝哥們,我有同樣的問題... –

2012-09-07 06:07:41