Java 接口是否可以部分实现方法?

Java 接口是否可以部分实现方法?,java,interface,Java,Interface,接口是否可以部分实现方法?这是我在考试中问的一个问题。我不清楚“部分实施了””。这是否意味着该接口的方法有一些操作?但通常我们在接口中只有没有实体的方法。所以如果有人能回答我,我会更加感激 一个接口可以“部分”实现方法的唯一方法是通过Java 8的默认方法: // will compile in Java 8 only interface Foo { default void foo() { System.out.println("Default foo implemen

接口是否可以部分实现方法?这是我在考试中问的一个问题。我不清楚“部分实施了””。这是否意味着该接口的方法有一些操作?但通常我们在接口中只有没有实体的方法。所以如果有人能回答我,我会更加感激

一个
接口
可以“部分”实现方法的唯一方法是通过Java 8的
默认
方法:

// will compile in Java 8 only
interface Foo {
    default void foo() {
        System.out.println("Default foo implementation");
    }
}

Java8之前的标准方法(在概念上仍然有效,具体取决于您的作用域)是使用[n abstract]类为其子类提供具有默认行为的方法

我能解释这个问题以获得“是”答案的唯一方法是将方法的“部分”部分实现为默认方法,然后从覆盖它的方法中删除:

public interface Swallow {

    default double getMaxAirspeed() {
        // Partial implementation of the method to be called by its full implementation, which should override this default method 
        return 1.0;
    }

}

public class AfricanSwallow implements Swallow {

    public double getMaxAirspeed() {
        final double initialValue = Swallow.super.getMaxAirspeed();
        return initialValue * 2;
    }

}

Java8添加了名为默认方法的特性非常感谢Mena的回复。这是一个很大的帮助。