mkdreamer 2022-03-20 16:57 采纳率: 80%
浏览 17
已结题

这一段代码怎么不报错呢?

问题遇到的现象和发生背景

遇到一道面试题,排错,两个接口有相同方法名

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点击查看重写的时候,这是把两个方法都一起重写了嘛?

img

我想要达到的结果
  • 写回答

1条回答 默认 最新

  • 不会写代码的猴子 Android领域优质创作者 2022-03-20 18:10
    关注

    interface Roll extends Play, Bound是取了Play, Bound这两个接口的合集

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论

报告相同问题?

问题事件

  • 系统已结题 3月28日
  • 已采纳回答 3月20日
  • 创建了问题 3月20日

悬赏问题

  • ¥20 有关区间dp的问题求解
  • ¥15 多电路系统共用电源的串扰问题
  • ¥15 slam rangenet++配置
  • ¥15 有没有研究水声通信方面的帮我改俩matlab代码
  • ¥15 对于相关问题的求解与代码
  • ¥15 ubuntu子系统密码忘记
  • ¥15 信号傅里叶变换在matlab上遇到的小问题请求帮助
  • ¥15 保护模式-系统加载-段寄存器
  • ¥15 电脑桌面设定一个区域禁止鼠标操作
  • ¥15 求NPF226060磁芯的详细资料