我有父类和子类,两个具有相同签名(覆盖)的方法m1,我可以调用父类方法以下情景。我不想更改子类方法。是否有任何方法从java中的子类对象调用父类方法没有修改方法
// Super class
public class Parent
{
public void m1()
{
System.out.println("Parent method");
}
}
// Sub class
public class Child extends Parent {
@Override
public void m1() {
System.out.println("Child method");
}
}
// User class
public class Kavi {
public static void main(String[] args) {
Parent p = new Child();
p.m1();
}
}
我想调用父类m1方法。我知道我可以在子类方法中使用super来调用它的父方法。但我无权更改子类的源代码。我必须从子类对象调用它。请任何人帮忙!在java中可能吗?
我知道这两种方式。我已经提到了问题本身。我的查询是如果有任何其他方式来调用父类方法 –
@kavitemre您可以通过传递参数可以自定义m1()方法可以是布尔值,它可以决定是调用父方法还是执行子方法。但我没有其他可能的办法。 –
@ kavi也许你应该重新思考你的问题,如果这些解决方案中的任何一个都行不通的话。另一个不太合适的解决方案是使用反射......但我不会推荐它。 – Pumphouse