Java:同时子类类及其子类(都超出了我的范围)

标签 java subclass extends repeat

给定两个类,一个类是另一个类的子类,两者都超出了我的范围,因此我对它们没有任何影响,例如。

public class Bla {
}

public class SubBla extends Bla {
}

如何在不重复代码或限制 SubBla 特殊功能的情况下创建 Bla 和 SubBla 的自定义子类?

编辑:所以我不必:

public class MyBla extends Bla {
    public void someOverriddenMethodOfBla()
    {
        super.someOverriddenMethodOfBla();
        // do something custom
    }
}

public class MySubBla extends SubBla {

    // repeated code: this should do the same as MyBla's customized method
    public void someOverriddenMethodOfBla()
    {
        super.someOverriddenMethodOfBla();
        // do the same custom stuff as in MyBla's method
    }

}

编辑 2,稍微澄清一下:

假设我需要 Android 类 Activity 和 ListActivity,它们是 Activity 的子类。现在我想将 onCreate 方法中的相同自定义添加到两者。如何在不重复代码的情况下完成此任务?

谢谢!

最佳答案

如果我理解正确的话,您正在尝试绕过 SubBla 的实现,并直接从 SubBla< 的子类调用 Bla 的实现。您想要做的本质上是调用 super.super,这在 Java 中无法完成

对此有一个很好的解释 here .

关于Java:同时子类类及其子类(都超出了我的范围),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16155933/

相关文章:

java - 我们如何在 Redis 中存储和检索可序列化的 Java 对象作为值

java - 当传递给需要对象类型的方法时,整数将变为 Long

java - 令人困惑的 Java 扩展

java - 传递未知类扩展父类,然后调用父类的函数(Java)

angular - 无法正确使用继承 Ionic 2

java - 在服务器端创建具有自动完成功能的查询

java - 通过套接字重复发送对象

c++ - 如何检查一个类是否继承了另一个类?

matlab - 为什么我收到错误 "the constructor must preserve the class of the returned object"?

Scala - 使用带有两个通用参数的父类(super class)型如何导致 Scala 类型检查器以不同方式对待子类型?