我有一些第三方bean,它们的方法签名非常适合现有的接口,但它没有实现接口。
现在我想做这样的事情,这是行不通的。有一些解决方法吗?
someBean.setSomeInterface(
new Interface() extends SomeBeanThatMatchesAlotOfMethodsOfTheInterface {
});
答案 0 :(得分:2)
您可以使用decorator模式进行此
定义一个实现您的接口的类,并在所有方法调用中委托给someBean
实现。
答案 1 :(得分:1)
我认为你所能做的就是扩展他们的课程(就像你上面所做的那样)然后说实现。
例如
public class MyImplementingClass extends SomeBeanThatMatchesAlotOfMethodsOfTheInterface implements MyInterface {
....
}
当然,通过将代码基于您的界面,它可能会在将来中断。请注意这一点。