本帖最后由 vipstepstep 于 2011-05-31 19:13:22 编辑

解决方案 »

  1.   

    不是有两个地址,而是因为 类B继承了 类A,所以类B中也有个g函数。 呵呵~~~
      

  2.   

    同时类B继承类A 同时也重写了原来A类的 f函数。
      

  3.   

    是两个不同的 public void f() public void g() aa是父类。同时具有这两个
      

  4.   

    这个不叫多态多态就是运行时,根据具体类型然后调用具体的方法,即动态方法绑定。具体到你这个例子中,就是A aa=new B();
    aa.f();//A中的方法f不要注释掉,会发现运行结果是BBB,而不是AAAA实现这种动态绑定机制的关键是,每个对象都一个指向方法区中类对象的指针,每个类对象又有相应的方法列表。至于aa.g()可以调用,是因为B继承于A