gpt4 book ai didi

java意外隐式接口(interface)实现

转载 作者:行者123 更新时间:2023-11-29 03:59:12 24 4
gpt4 key购买 nike

最近遇到了一个有趣的特性,尽管它可能会导致 Eclipse“添加未实现的方法”特性的意外输出。这种“偶尔的隐式实现”背后的语言概念的“可谷歌搜索”名称是什么?

我不希望下面的代码能够编译,但它确实并且正在运行

interface CallmeIfc {
public void callme();
}

class CallmeCode {
public void callme() {
// implementation
}
}

class CallmeImpl extends CallmeCode implements CallmeIfc {
// empty class body
}

public static void main(String[] args) {
CallmeIfc me = (CallmeIfc) new CallmeImpl();
me.callme(); // calls CallmeCode.callme()
}

最佳答案

在CallmeImpl中,public callme()方法继承自CallmeCode,因此CallmeImpl尊重CallmeIfc中定义的契约。

然后,在您的 main() 方法中,多态性允许您将子类实例 (CallmeImpl) 分配给父类(super class)或超接口(interface)引用 - 在这种特殊情况下,类型为 CallmeIfc 的“我”引用(此处有错字,顺便说一句)。

关于java意外隐式接口(interface)实现,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4518583/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com