Sex*_*erd 21 static interface 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的设计者会选择以不同的方式对待上述两种情况吗?