在 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();
}
}