在类层次中,如果子类中的一个方法与他的超类中的方法名字相同,参数的类型也相同,则出现方法覆盖问题,在子类中调用一个覆盖方法时,他总是指向子类定义的那个版本的方法,而超类定义的那个版本的方法被隐藏。如果子类中没用出现方法覆盖问题,而且超类中定义的方法为public,则在子类中调用该方法时,将调用超类中的方法。

解决方案 »

  1.   

    java中的多态性还是比较好理解的,要是换成c++,你的头可能会多大一倍,c++的不定多态(即有的是运行时多态有的不是)会更难领会,我的理解是:java中是编译时单态而运行时多态,具体的解释可以看看我写的《scjp套题解析》中的相关内容。
      

  2.   

    up up~
    为什么方法要public?
      

  3.   

    《scjp认证套题解析》就在csdn的文档区,也可以看cherami的专区