疑惑:如何访问被覆盖父类的方法 -- java与C++类模型的一点差异

如下代码:
class A{
    public void foo(){print("aaaaa");}
}

class B extends A{
    public void foo(){print("bbbbb");}
}

如果想通过B的实例化变量来调用被override的父类的方法foo():

B b = new B();

在C++中(VC 6)可以两种途径;
1.  ((A)b).foo();
2.  A a = B();

在java中类似做法则行不通,依然访问的是子类方法。
而且,在java中好像达不到这个目的。

你可能感兴趣的:(疑惑:如何访问被覆盖父类的方法 -- java与C++类模型的一点差异)