在默认方法中访问其他接口方法
你也可以从默认方法中访问其他接口方法。
public interface Summable {
int getA();
int getB();
default int calculateSum() {
return getA() + getB();
}
}
public class Sum implements Summable {
@Override
public int getA() {
return 1;
}
@Override
public int getB() {
return 2;
}
}
以下声明将打印 3 :
System.out.println(new Sum().calculateSum());
默认方法也可以与接口静态方法一起使用:
public interface Summable {
static int getA() {
return 1;
}
static int getB() {
return 2;
}
default int calculateSum() {
return getA() + getB();
}
}
public class Sum implements Summable {}
以下声明还将打印 3:
System.out.println(new Sum().calculateSum());