我有interface IA
,interface IB extends IA
和class A implements IA
。
现在我想创建一个从A
扩展并实现IB
的匿名类。
看起来怎么样?我想到了这样的事情:
new A() implements IB { /* ... */ }
( Error: Type mismatch: cannot convert from A to IB )
或:
new IB() extends A { /* ... */ }
( Error: Syntax error on token(s), misplaced construct(s) )
或者不可能像匿名类一样创建类似的东西吗?
答案 0 :(得分:4)
我想你可以创建一个抽象的,命名的内部类,它将两者结合起来并将它扩展到你的匿名类。
private static abstract class AB extends A implements IB {};
...
new AB() {};
有点笨拙,但我认为你不能同时实现这两点。