本帖最后由 丁一 于 2013-3-13 11:16 编辑
是不是这样的? 个人理解
A a; 定义一个a
B b = new B(); 定义b 并初始化
b.fun1(); 执行fun1(), 因为是继承a 所以有这个方法 输出 456
a = b; a初始化 等于b
a.fun1(); 执行a.fun1() 调用的是b中的方法 同样输出456 这个地方是 因为上面有 a=b 了,所以执行 b中的 fun2 ,如果删除a=b 会出错 需要改成 A a=new A();这样就输出 456 123
|