【发布时间】:2019-03-16 23:29:49
【问题描述】:
我给你一个例子来在这里设置一些上下文,所以我有两个接口,每个接口都继承相同的父接口并定义它们自己的父接口抽象方法的实现。
interface A
{
Set a();
}
interface B extends A
{
@Override
default Set a()
{
return null;
}
}
interface C extends A
{
@Override
default Set a()
{
return null;
}
}
在名为D 的接口中,实现创建了一个匿名内部类,然后需要调用超类型(B 和C)a() 实现。
interface D extends B, C
{
@Override
default Set a()
{
return new HashSet()
{
{
final int totalSize = D.this.B.super.a().size() + D.this.C.super.a().size();
}
};
}
}
问题是表达式D.this.B.super.a()和D.this.C.super.a()没有编译成功,怎么回事?
顺便感谢你的努力。
【问题讨论】:
-
"编译不成功"是什么错误?
标签: java anonymous-inner-class default-method