黑马程序员技术交流社区

标题: Java中 通过子类怎么调用父类已经被重写的方法 [打印本页]

作者: 小子考驾照    时间: 2014-8-28 21:58
标题: 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的方法的情况下。
作者: careit    时间: 2014-8-28 22:15
无法用子类的实例对象调用已经覆盖父类中的方法。
如果想用A中的a方法,只能用 类 A的对象;
AA aa = new AA();
A a = (A)aa;
a 实际上还是只想堆内存中aa的地址
作者: 明天2014    时间: 2014-8-28 22:22
super可以吗?
作者: idency    时间: 2014-8-28 22:37
直接使用super 关键字就可以解决!
super.function();




欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2