问题遇到的现象和发生背景
遇到一道面试题,排错,两个接口有相同方法名
interface Playable {
void play();
}
interface Bounceable {
void play();
}
interface Rollable extends Playable, Bounceable {
Ball ball = new Ball("PingPang");
}
public class Ball implements Rollable {
private String name;
public String getName() {
return name;
}
public Ball(String name){
this.name = name;
}
public void play(){
//ball = new Ball("FootBall"); 注意小细节,这里的ball是定义在Rollable接口里面的,接口里面定义的数据是全局常量(public static final)这里不能再new一个新的对象给ball
System.out.println(ball.getName());
}
public static void main(String[] args) {
ball.play();
}
}
运行结果及报错内容
运行结果:PingPang
我的解答思路和尝试过的方法
我只看出来了那个ball是不能再new了,但是我认为接口那里也有错,按道理编译器识别不出来啊,有两个相同方法名,编译器不知道我重写的哪一个方法,
使用idea点击查看重写的时候,这是把两个方法都一起重写了嘛?