【问题标题】:Java - Using two classes with the same name in an InterfaceJava - 在接口中使用两个具有相同名称的类
【发布时间】:2014-10-09 12:23:22
【问题描述】:

我需要在一个接口中使用两个具有相同名称但不同命名空间的类(foo.request.Responsebar.request.Response)。在类中,这可以通过使用带有命名空间的全名来实现:

public foo.request.Response method1() { [...]
public bar.request.Response method2() { [...]

但这似乎不适用于接口。

处理这个问题的正确方法是什么?

编辑 1 错误来自 Eclipse:

foo 无法解析为类型

接口代码:

public interface ITestController {
    String method1(foo.request.Response response);
}

我发现了问题,它不是来自界面,而是依赖项中的一个简单的混乱。感谢您的帮助;)

【问题讨论】:

  • 您遇到任何具体错误吗?
  • Eclipse 显示错误并显示“foo 无法解析为类型”。它不理解类名的完整定义
  • 我用接口代码更新了Q

标签: java eclipse class interface namespaces


【解决方案1】:

它适用于接口,但应注意实现类以相同方式完全限定名称。

请注意,在实现接口时,您可以选择两个类中的哪一个。 接口指定实现接口时使用两个类中的哪一个

您在答案中发布的代码有问题。如果前两个方法属于实现ITestController 的类,那么该类还必须包含一个实现

public String method1(foo.request.Response response) { ... }

【讨论】:

  • 我知道这只是一个例子。事实上,问题来自依赖项中的问题......感谢您的帮助
  • 对。因此,您的问题的答案确实是,它适用于接口,但应注意实现类以相同方式完全限定名称。 :-)
猜你喜欢
  • 2017-03-04
  • 2011-06-01
  • 2011-10-16
  • 1970-01-01
  • 2023-01-11
  • 2017-09-26
  • 2018-11-04
  • 2014-01-12
  • 1970-01-01
相关资源
最近更新 更多