Java强制通过匿名类在第三方类上进行接口

时间:2012-03-23 16:16:15

标签: java inheritance interface extends implements

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

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

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

2 个答案:

答案 0 :(得分:2)

您可以使用decorator模式进行此

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

答案 1 :(得分:1)

我认为你所能做的就是扩展他们的课程(就像你上面所做的那样)然后说实现。

例如

public class MyImplementingClass extends SomeBeanThatMatchesAlotOfMethodsOfTheInterface implements MyInterface {

....
}

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