A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

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的方法的情况下。

3 个回复

倒序浏览
无法用子类的实例对象调用已经覆盖父类中的方法。
如果想用A中的a方法,只能用 类 A的对象;
AA aa = new AA();
A a = (A)aa;
a 实际上还是只想堆内存中aa的地址
回复 使用道具 举报
super可以吗?
回复 使用道具 举报
直接使用super 关键字就可以解决!
super.function();
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马