【问题标题】:Java forcing interface on 3rd party class through anonymous classJava通过匿名类强制第3方类接口
【发布时间】:2012-03-23 16:16:15
【问题描述】:

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

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

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

【问题讨论】:

标签: java inheritance interface extends implements


【解决方案1】:

您可以为此使用decorator 模式

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

【讨论】:

    【解决方案2】:

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

    例如。

    public class MyImplementingClass extends SomeBeanThatMatchesAlotOfMethodsOfTheInterface implements MyInterface {
    
    ....
    }
    

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2017-06-07
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多