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的回复。这是一个很大的帮助。