Java中 通过子类怎么调用父类已经被重写的方法 class A{ void a(){ System.out.println("parent'a()"); } }
class AA extends A{ void a(){ System.out.println("child'a()"); } }
public static void main(String[] agrs){ AA aa = new AA(); aa.a(); A a = (A)aa; a.a(); }
这两种打印出来的结果都是一样的,怎么才能调用A中的a方法,在不改变 A 和AA的方法的情况下。
------解决方案-------------------- A a = (A)aa; 你的这个写法其实就是多态写法,运行的时候,还是AA,因为你重写的父类的方法,想调用父类的方法,你只有直接去new父类A a = new A();
------解决方案-------------------- AA aa = new AA();