如何在抽象类中执行java方法?
我在抽象类中有一个方法,可以在扩展类中重写,也可以不重写。我想调用原始(而不是重写)方法。如何引用它?例如:
public abstract class A{
protected MyResult my_method(){
MyResult myResult;
...
... // Default implementation
...
return myResult;
}
...
private void xy(){
// I'd like to call my_method here
if(!my_method().test()){
// The function is not implemented well, I want ot use the original (abstract) method
...
... log a message for programmer
...
this::A.my_method(); // I need something like this
}
}
}
我不需要任何建议如何用不同的方式来做。我只询问是否有java语法用于引用原始类或远程超类中的方法或属性
# 1 楼答案
你不能从子类之外的中这样做。从子类本身,可以调用
它将始终调用超类实现,即使它在这个类中被重写。但是能够在子类之外做到这一点会减少封装