由于继承可以让父类的所有的方法在导出的类也同样有效, (这是因为编译器支持这一概念) 所以程序 可以利用多态增加代码的重用(--来自Java编程思想)(--下边是看Java编程思想结合自己的理解)--如 写一个方法接受树枝干的父类为参数,这样由于子类无限多,这样如果情况有所该变的时候只要再写一个子类。 在泛型出现以前,利用向上转型等来实现多态,多态主要时间方法的重用和代码段的重用,当程序要发生改变的时候,只要该一点就可以。如果要深入了解的话,多看看关于多态的东西
List list = new ArrayList();当list使用的方法,如果List和ArrayList都有时,用的是ArrayList的方法,如果ArrayList有而List没有就报错,呵呵多态啊,如果要想用ArrayList中的所有的方法就ArrayList arrayList = (ArrayList)list 强转,父类类型的变量始终能够引用子类对象,这是多态啊
向上转行其实就是一种多态。比如有一个接口IUser,它有两个实现类UserImpl1 和UserImpl2 。
IUser user1=new UserImpl1();和IUser user1=new UserImpl2();
就是一种向上转型,也就是子类向父类自动转。
子类角度看
当你要用的功能子类没有而父类有时,你就有需要向上转型
父类角度
当你要用的功能父类没有而子类有时,你就有需要向下转型 http://329937021.javaeye.com/blog/545201 详细
降低耦合度