本帖最后由 在乎.. 于 2013-7-14 14:57 编辑  
-  class A {
 
 -                  void fun1() {
 
 -                        System.out.println(fun2());
 
 -                  }
 
 -   
 
 -                  int fun2() {
 
 -                          return 123;
 
 -                  }
 
 -          }
 
 -   
 
 -           public class B extends A {
 
 -                  int fun2() {
 
 -                           return 456;
 
 -                   }
 
 -   
 
 -                  public static void main(String args[]) {
 
 -                          B b = new B();
 
 -                          b.fun1();   //456  这我知道,是B重写fun2()的缘故吧
 
 -                          A a = b;
 
 -                          a.fun1();   //456   但这a 指向A类去了,为什么还会使用子类的呢?
 
 -                  }
 
 -          }
 
  复制代码 |