【发布时间】:2020-03-19 11:11:20
【问题描述】:
有人能指出默认接口方法不能为某个类实现的其他接口方法定义行为/实现的原因吗?
interface Transformable {
int quarter();
BigDecimal value();
}
interface Quarterly {
int getQuarter();
void setQuarter(int quarter);
// Method that I would expect to be used to define Transformable method behavior
default int quarter() {
return getQuarter();
}
}
// expects quarter() implementation
static class SomethingQuarterly implements Quarterly, Transformable {
private int quarter;
private BigDecimal value;
@Override
public int getQuarter() {
return quarter;
}
@Override
public void setQuarter(int quarter) {
this.quarter = quarter;
}
@Override
public BigDecimal value() {
return value;
}
}
【问题讨论】: