给定两个类,一个子类又另一个子类,这两个子类都超出了我的范围,因此我对它们没有任何影响。
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
的实现,并直接从Bla
的子类调用SubBla
的实现。您要尝试做的实际上是调用super.super
,这在Java中无法完成
这个here有一个很好的解释。