В Java 8, почему не может вызвать статический метод интерфейса, который реализует текущий класс [duplicate]
На этот вопрос уже есть ответ здесь:
Почему статические методы класса наследуются, а не интерфейсные статические методы? 4 ответаВ последнее время я играю с новыми функциями 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 может по-разному относиться к вышеуказанным двум случаям?