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