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