说我有声明如下类别:如何调用基类方法?
public abstract class IdentifiableEntity {
public boolean validate() {
return true;
}
}
public class PreferenceCategory extends IdentifiableEntity {
public boolean validate() {
return true;
}
}
现在,让我们说,我已经PreferenceCategory变量,创建,我想打电话给IdentifiableEntity.validate()方法,不的PreferenceCategory.validate()方法。
我本来以为我可以铸造(见下文)做到这一点,但它仍然会调用覆盖的方法:
PreferenceCategory cat = new PreferenceCategory();
// this calls PreferenceCategory.validate(), not what I want
((IdentifiableEntity)cat).validate();
有没有办法做到这一点?
向父方法添加显式调用。例如validate(){return super.validate(); } – Andreas 2010-09-27 13:28:27
你如何测试它,因为基类和子类'validate()'方法返回'true'。 – 2010-09-27 13:29:35
你能解释一下它的用例吗? – 2010-09-27 13:45:08