本帖最后由 在乎.. 于 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类去了,为什么还会使用子类的呢?
- }
- }
复制代码 |