A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

© funtyung 中级黑马   /  2016-4-1 22:37  /  568 人查看  /  0 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

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

0 个回复

您需要登录后才可以回帖 登录 | 加入黑马