【问题标题】:Android: extends from multiple classesAndroid:从多个类扩展
【发布时间】:2015-07-26 14:08:48
【问题描述】:

我有一个名为 MyApplication 的应用程序,它从库应用程序 RoboInjectableApplication

扩展而来
public class MyApplication extends RoboInjectableApplication {

}

但现在我希望 MyApplication 从另一个库应用程序 XWalkApplication 扩展,以便我的应用程序从 RoboInjectableApplicationXWalkApplication 如何实现这一目标

【问题讨论】:

标签: java android multiple-inheritance


【解决方案1】:

这是不可能的 Java 只允许一个超类。您可以查看这两个类的源代码并编写一个具有所有兼容性的合并类。

如果您需要在不同的上下文中使用不同的超类,您可以尝试 Android Studio 的风格。在那里,您可以覆盖生成不同 APK 的类。

【讨论】:

    【解决方案2】:

    在java中你只能扩展一个类。

    您可以检查是否可以使用类字段(变量)来拥有 XWalkApplication 功能 - 这通常称为组合。

    另一种方式如前所述,可以合并源代码。

    如果可能的话,另一种方法是使用接口。

    【讨论】:

      【解决方案3】:

      java 不支持多重继承。在少数情况下会引起歧义。最常见的场景之一是Diamond problem。您可以从here 阅读更多相关信息。

      简而言之,不可能从多个类进行扩展。

      【讨论】:

        猜你喜欢
        • 2013-04-19
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多