class A
{
public void f()
{
System.out.printf("AAAA\n");
}
}
class B extends A
{
public void f()
{
System.out.printf("BBBB\n");
}
}
public class TestPoly
{
public static void main(String[] args)
{
A aa = new A();
B bb = new B();
aa.f();
bb.f();
aa = bb;
aa.f();
}
}
根据Java多态的一个定义:通过父类引用只能访问子类对象从父类继承过来的成员
类B中重写的了A中的方法f();这个应该是B类中的一个方法了 但是aa = bb;aa.f();输出的结果是bb.f();中的结果啊 这里不是跟上面有矛盾吗?
|