小编Sex*_*erd的帖子

在java 8中,为什么不能调用当前类正在实现的接口静态方法

我最近正在玩Java 8的新功能并观察到一个有趣的行为:

这没关系:

Class A { static void staticMethodInA() {println();} }
Class B extends A {}

B.staticMethodInA();
Run Code Online (Sandbox Code Playgroud)

这会导致以下错误:静态方法只能在包含接口类时调用.

interface A { static void staticMethodInA() {println();} }
Class B implements A {}

B.staticMethodInA(); // from here IntelliJ complaints..
Run Code Online (Sandbox Code Playgroud)

有人能告诉我为什么Java 8的设计者会选择以不同的方式对待上述两种情况吗?

static interface java-8

21
推荐指数
1
解决办法
1万
查看次数

标签 统计

interface ×1

java-8 ×1

static ×1