看看我的这篇文章,尤其是最后一部分,可能能帮助你理解。http://expert.csdn.net/Expert/topic/2521/2521904.xml?temp=.9360926
-------------------------------------
我再补充一点,如果一个接口被多个类实现,那么在调用这个接口时那个对象所属类就变得尤其重要了,可以这么说,调用哪个类的对象,就实现该类的方法。

解决方案 »

  1.   

    你说:如果有多个类实现了一个接口,那么到底实现哪个类的方法是在运行时确定的,也就是说,在main函数里面创建了哪个实现类的对象,就用该类的方法。这不是 默认的逻辑 吗?
    类在继承接口时,如果将方法重写,那么在使用该类实例的时候,当然要使用该类改写过的方法。这有什么不清晰的地方,值得作者强调呢?
      

  2.   

    java面向对象编程的多态.和RTTI的应用.
      

  3.   

    to badcody (升龙就是硬道理) 强调自有强调的好处,有的东西你虽然有印象,但是不会在你想问题的时候自动跳出来!
      

  4.   

    关注!
     badcody(升龙就是硬道理) 说呀
      

  5.   

    嗯..........我说的 继承后使用多态 是指多个类继承自某个基类,然后使用派生类声明基类对象( 基类 o = new 派生类 )
    基类包含一个方法.如果 派生类修改了基类方法,那 o.方法() 就会调用派生类的方法.
    如果 派生类没有修改基类方法,那 o.方法() 就会使用基类的方法.我觉得作者说的不是这个阿,还有你的例子中提到的[将class作为入参],那也是个很清晰的思路阿
    用谁就调谁,没错把?