интерфейс, но это сделало бы интерфейс более неуклюжим, чем это должно быть.

у статические методы поддерживаются в Java 8? В чем разница между двумя строками основного метода в приведенном ниже коде?

package sample;
public class A {
    public static void doSomething()
    {
        System.out.println("Make A do something!");
    }
}

public interface I {
    public static void doSomething()
    {
        System.out.println("Make I do something!");
    }
}

public class B {
    public static void main(String[] args) {
        A.doSomething(); //difference between this
        I.doSomething(); //and this
    }
}

Как мы видим выше, я даже не реализован в B. Какую цель будет иметь статический метод в интерфейсе, когда мы можем написать тот же статический метод в другом классе и вызвать его? Был ли он введен для какой-либо другой цели, кроме модульности. И под модульностью я имею в виду следующее:

public interface Singable {
    public void sing();
    public static String getDefaultScale()
    {
        return "A minor";
    }
}

Просто для того, чтобы соединить похожие методы.

Ответы на вопрос(0)

Ваш ответ на вопрос