java - 如何从库中调用主程序中的类?

标签 java android

我需要编写多个共享通用功能/资源的程序。我想看看是否可以将这些程序的大部分放入库中。场景如下:

ProgA、ProgB 和 ProgC 是使用 libX 的程序。

libX 有一个类 XYZ,它将实例化一个类 ABC。

ProgA、ProgB 和 ProgC 都有 ABC 类的不同实现。

我如何构建我的程序来实现这一点?我曾尝试进行研究,但无法找到答案。提前致谢...

最佳答案

您只需拥有一个基本库接口(interface)ABC,它提供的接口(interface)允许您的XYZ类与类A进行交互, BC 都实现了接口(interface) ABC

public interface ABC {
    public void method1();
    public void method2();
}

然后,您的库类只需要对实现接口(interface) ABC 的对象的引用。

public class XYZ {
    private ABC abc;
    public XYZ(ABC abc) { this.abc = abc; }
}

然后您的 ABC 实现要么实现 ABC,要么创建实现 ABC 的对象-苍蝇。

对我来说,这听起来很像回调方案。您的库需要一种标准方法来将结果传达给特定的实现。 ABC 基本上是一个事件处理程序接口(interface)。

关于java - 如何从库中调用主程序中的类?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15804230/

相关文章:

java - 握手消息 (X) 的大小超过允许的最大大小 (32768) :spring boot resttemplate

java - 如何使用 Selenium/Java 找到这个元素?

java - 整数除法浮点结果

java - 使用JaCoCo和Gradle进行离线检测

java - 在Listview中实现自定义字体-Android

android - 如何在 XML 中添加 OR 运算符?

android - 在没有 photoshop 知识的情况下创建简单的启动画面(Ionic/Cordova)

java - 如何在 Selenium 中打印没有任何属性的子菜单链接

android - 如何使用android调用wifi电话?

Android:带有 match_parent 的布局应占用剩余空间或共享