像这样的代码:

protected Interface1 varClass1 = new Interface1() {

但我也希望这个匿名嵌套类还扩展了Base类,类似于:
protected Interface1 varClass1 = new Interface1() extends Base {
....

这在Java中可行吗?

最佳答案

匿名类可以只实现一个接口(interface),也可以扩展一个类。

一种解决方法是创建一个扩展了Base并实现Interface1的命名类,然后将其用作匿名类的基类:

public abstract class Base1 extends Base implements Interface1 {}

...

protected Interface1 varClass1 = new Base1() {
   ...

10-07 13:41