黑马程序员技术交流社区

标题: 多态 [打印本页]

作者: funtyung    时间: 2016-4-1 22:37
标题: 多态
1.多态
多态是继封装、继承之后面向对象的第三大特性。
概念
现实生活中,一种事物有多种形态,如学生,既是学生也是人,即出现两种形态。对应的,在Java当中,一个对象也可有多种形态。
Student类可以为Person类的子类。那么一个Student对象既可以赋值给一个Student类型的引用,也可以赋值给一个Person类型的引用。       
多态的前提是必须有子父类关系,否则多态无意义。多态如果没有方法重写,则同样没有意义(所以,在之前的代码中,一个方法的参数为父类或者接口时,可以传入其子类对象,就是多态的表现。试想,如果没有重写方法,则不需要子类,全部用父类即可)
通过之前的案例,我们已经可以体会到多态带来的好处,尤其是代码复用性与扩展性。
而在使用时,只有在调用方法时,调用的为子类重写的方法,其他的编译期检测及运行结果均是依据引用变量的数据类型判断。






欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2