1

我有一些 3rd 方 bean,它们的方法签名非常适合现有接口,但它没有实现接口。

现在我想做这样的事情,这是行不通的。有一些解决方法吗?

 someBean.setSomeInterface(
         new Interface() extends SomeBeanThatMatchesAlotOfMethodsOfTheInterface {
     });
4

2 回答 2

2

您可以为此使用装饰器模式

定义一个实现您的接口的类,并在所有方法调用中委托给someBean实现。

于 2012-03-23T16:34:26.943 回答
1

我想你所能做的就是扩展他们的类(就像你在上面所做的那样)然后说实现。

例如。

public class MyImplementingClass extends SomeBeanThatMatchesAlotOfMethodsOfTheInterface implements MyInterface {

....
}

当然,通过将他们的代码基于您的界面,将来它可能会中断。请注意这一点。

于 2012-03-23T16:19:18.947 回答