Java程序设计入门教程--覆盖性重写

目录

多态性

多态性分类

覆盖(重写)

示例程序


多态性

       在OOP中,多态性是指一个程序中同名的不同方法共存的情况。这些方法同名的原因是它们的最终功能和目的都相同,但是由于在完成同一功能时,可能遇到不同的具体情况,所以需要定义包含不同内容的方法,来代表多种具体实现形式。

      多态的存在是类之间继承关系的必然结果,正是因为继承关系,使得两个类之间有了一种比较亲密的关系:父与子的关系。

     多态的概念,通俗讲,就是系统自动识别当前对象的类型(子类还是父类),并访问其相应的属性或方法。

多态性分类

       由方法重载所实现的静态多态性(编译时多态)和方法覆盖所实现的动态多态性(运行时多态)。

覆盖(重写)

       覆盖,也称为重写,是指子类中定义了一个与父类某一方法具有相同型构(即同方法的返回类型,同方法名,同方法参数列表)的方法。

      如果一个类中存在着覆盖现象,则该类应存在相关联的子类或父类。在运行阶段,具体调用哪个覆盖方法,系统会根据该方法调用者类型的不同(父类还是子类),来决定调用哪个方法。

示例程序

子类中重写父类的方法,并分别调用。

 

     在程序中,Student子类重写了Persontell方法。当父类方法被重写后,子类或子类对象调用的将是被重写后的方法,父类或父类对象还是可以调用自身已经被重写的方法。子类重写父类的tell()方法,特点是父类中该方法的内容全部舍弃,重新重写该方法,称为覆盖性重写。  

猜你喜欢

转载自blog.csdn.net/u010764893/article/details/131139551