标签:
继承是为了减少代码冗余,将有 is-a 关系的事物抽象出来,作为父类,将众多共有的属性和方法在父类中实现,让其它类继承,这些类称为子类,这些子类就可以避免书写过多的重复代码;多态是为了实现针对不同的事件作出不同的回应,常用的是动态绑定,重载,覆盖;
继承:
多态:
instance of 可用于观察一个对象是不是属于某个类;如果A类继承于B类,那 ( new A() ) instanceof B 的判断值是对的,但反过来就是 false ,因为你能说每只猫都是动物,但不能说每一只动物都是猫,这是检验 is-a关系的一种方法;由此衍生,就可以理解类型转换的问题,B b = new A(); 是没问题,因为A类事实上是B类的一种扩展,B类中有的属性和方法A类都有,所以可以放心的把将A交给B用;但是反过来又不好说了,尽管这个B型可能真的是A类型,只是用B类型引用传递过来,但java不怕一万就怕万一,于是就需要你自己确定这个责任,需要显示转换类型, A a = (A)(new B()); 这里你可以用instanceof来做一个确定,如果判断值为 true 则转换;
标签:
原文地址:http://www.cnblogs.com/lhppom/p/4854351.html