java - 一个类如何扩展两个不同的类,其中一个类来自外部库,另一个类是内置的

标签 java android

我在我的项目中使用 SherlockActionBar 库。我的类正在扩展一个抽象类 SherlockActivity

public class AllAppsInfo extends SherlockActivity{}

同时,我也想用 FragmentActivity 扩展我的 AllAppsInfo。由于忽略了 java 中的多重继承,这是不允许的。

我做了一些搜索,组合是解决方案,但如何在这个场景中使用它?我既不能将抽象 Sherlock 类设置为接口(interface),也不能使用 Fragment Activity 类来完成同样的操作 。

最佳答案

尝试Composition .

您可以引用here也是。

基础很简单:

class A
{
    void aMethod() {}
}

class B
{
    void bMethod() {}
}

class C
{
    void cMethod() {}
}

如果您想从cMethod()调用aMethod()bMethod();您可以按照以下方式进行:

class C extends A    // Inheritance
{
    B aBObject = null;    // Composition
    void cMethod()
    {
        aMethod();
        aBObject = new B();
        aBObject.bMethod();
    }
}

关于java - 一个类如何扩展两个不同的类,其中一个类来自外部库,另一个类是内置的,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12972995/

相关文章:

java - 覆盖标准的 Spring Data REST API

java - 无法@Override Java中的compareTo()方法

Java删除节点链表不起作用

android - 如何为DialogFragment设置主题

android - 如何在 android studio 中将二进制字符串转换为整数?

java - 如何在java中使用Gremlin PipeLine使用类似搜索填充的顶点集之间添加边

java - 如何为java数据库创建initializeDB()方法

android - Room Insert Completable 在两次或三次插入后停止工作

Android Activity Intent Filter、Action View 和 Category Default

android - 如何使用具有相对布局的 ScrollView