我可以将Common Interface类型作为参数传递给方法

时间:2017-05-18 16:57:52

标签: java interface

语言:Java

所以我有一堆由中间件自动生成的接口文件。所有这些都具有我想要访问的类似结构。有没有办法在方法中交替传递它们。与此相似的东西

private void setDataToInterfaceFile(String dataTobeSet,Interface interface){
   interface.setString(dataTobeSet)
}

并使用这样的东西

setDataToInterface("Set me to 1",Interface_1)
setDataToInterface("Set me to 2",Interface_2)

1 个答案:

答案 0 :(得分:1)

  

setDataToInterface("将我设置为1",Interface_1)

Interface_1不是界面本身。它是实现接口的类的实例。

类实现可以有多个接口。此接口可以使用相同的签名声明方法。

声明"类似结构"在额外接口中自动生成的所有接口:

interface Interface
{
  void setString(String text);
}

然后执行自动生成的Interface_1

class Interface_1_Impl implements Interface, Interface_1
{
  @Override
  public void setString(String text)
  {
    // ...
  }
}

可用作setDataToInterfaceFile()的参数。

此设计模式称为类适配器