gpt4 book ai didi

java - 为什么具有 void 返回类型方法的功能接口(interface)接受任何返回类型方法?

转载 作者:塔克拉玛干 更新时间:2023-11-02 07:59:41 27 4
gpt4 key购买 nike

<分区>

我们有这段代码:

public class Test {
public static Object foo() {
System.out.println("Foo");
return new Object();
}

public static void main(String[] args) {
J j = Test::foo;
j.m();
}

}
interface J {
void m();
}

并且此代码将起作用。关键的一行是

J j = Test::foo;

尽管 interface J 声明它有一个 void 函数,Test::foo 返回一个 Object

虽然我们不能在实现接口(interface)时覆盖方法(这是显而易见的)。只有当接口(interface)的方法是void时才有效,否则代码不会被编译。有人能说出为什么它会以这种方式工作吗? :D

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