这个子类重写了原来的方法,而 super 类是一个抽象类。是否可以通过初始化为其子类的对象来调用父类(super class)中的原始方法?
public class SubClass extends SuperClass {
public void methodA() {
System.out.println("SubClass: methodA");
}
public void methodB(int num) {
System.out.println("SubClass: methodB " + ++num);
}
}
public abstract class SuperClass {
public void methodA() {
System.out.println("SuperClass: methodA");
}
public void methodB(int num) {
System.out.println("SuperClass: methodB " + num);
}
}
我想做什么:
{
public static void main(String args[]){
SuperClass sup= new SuperClass();
sup.methodA();
}
我认识到上面的代码无法工作,因为抽象类无法实例化,所以我尝试这样做:
{public static void main(String args[]){
SuperClass sup= new SubClass();
sup.methodA(); //Trying to call method in original superclass
}
最佳答案
您始终可以创建扩展 Super 的匿名类或不会重写 methodA()
的子类。
以下是前一种方法的示例:
SuperClass sup= new SuperClass(){};
sup.methodA();
关于java - 您可以从一个单独的类调用父类(super class)中的方法,该类将所述父类(super class)的子类作为对象吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48027354/