【问题标题】:Making a call to a method without importing a particular project在不导入特定项目的情况下调用方法
【发布时间】:2014-07-24 11:38:55
【问题描述】:

我正在对已经存在的代码进行一些修改,我需要做的是从项目 X 的​​类 A 中调用一个方法到项目 Y 的类 B 的方法中,而不是将类 A 显式导入到类 B 中。在 B 类中导入 A 类将在构建路径中创建一个循环,我必须不惜一切代价避免这种循环。有人可以帮忙吗?

【问题讨论】:

  • 是否可以重构和移动方法,甚至是所有 A 类?
  • @Romojr50:恐怕这是不可能的。虽然 A 类是新创建的,但它在逻辑上必须驻留在项目 X 中(基于产品实现)。
  • @CodeNewbie 永远不会说这是不可能的,你无法知道它(有你的名字)。可以使用反射,您只需在搜索路径中安装 .jar 文件。还有更多的可能性。

标签: java class inheritance


【解决方案1】:

看看依赖倒置,它基本上是一种通过使用抽象类或接口以及您的具体实现来管理依赖方向性的原则/技术:

Here's a beginner's tutorial(示例是 C#,但 Java 差别不大)

【讨论】:

    【解决方案2】:

    您可以通过Interface(调用方法)、创建对象的工厂模式来解决这个问题,或者Reflection 允许创建对象并调用您仅用于的方法知道名称(例如,在配置文件中给出)。
    但是,请先尝试,不要反思。

    【讨论】:

      猜你喜欢
      • 2021-12-04
      • 1970-01-01
      • 2018-08-03
      • 2021-12-02
      • 1970-01-01
      • 2020-11-06
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多