在java 8中,为什么不能调用当前类正在实现的接口静态方法
我最近正在研究Java 8的新功能,并观察到一个有趣的行为:
这没关系:
Class A { static void staticMethodInA() {println();} }
Class B extends A {}
B.staticMethodInA();
这将导致错误:静态方法只能在包含接口类时调用。
interface A { static void staticMethodInA() {println();} }
Class B implements A {}
B.staticMethodInA(); // from here IntelliJ complaints..
有人能告诉我为什么Java 8的设计者会选择以不同的方式对待上述2种情况吗?