【发布时间】:2019-07-16 20:58:39
【问题描述】:
也许这个问题有明显的答案,但我找不到它可能是因为我是 java 新手。 您能否说明为什么在 Java 中可以使用默认方法的接口签名来访问类方法。我认为只能从类实例访问方法。 示例:
public interface test {
String voo();
default void foo() {
voo().toString();
}
}
【问题讨论】:
-
voo()返回一个String的实例 -
不。这就是接口的力量。从某种意义上说,它就像 C/C++ 中的前向声明。对
voo()的调用在运行时解析,即在运行时调用具体实现 -
仅供参考,String::toString 是一个多余的方法调用
-
怎么了?在默认方法中它可以访问其他接口方法和其他默认方法。
-
我相信你在描述多态行为。
标签: java methods interface default