给定两个类,一个类是另一个类的子类,两者都超出了我的范围,因此我对它们没有任何影响,例如。
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/