我一直不理解为什么要用父类引用指向子类实例
Class A ;//A 是子类
Class B;//B是父类
A extends B
B i=new A();
A可以任意重写B中的方法
i虽然是Class B的实例,但i可以调用Class A中重写的方法,这样就实现了动态链接,这些技巧都是为了解决java不够动态地问题.
我如果想修改B类方法的实现,我就可以不用改任何代码,我直接令Class C extends Class B,在Class C中重写B类方法,这样就符合对修改封闭,对增加开放的设计模式。