方法的重写与重载

方法的重写与重载

一、什么是重写

在子类中创建了一个与父类中名称相同、返回值类型相同、参数列表的方法相同,只是方法体中的实现不同,以实现不同于父类的功能,

这种方式被称为方法重写(override),又称为方法覆盖、方法复写。相当于只是核心部分功能变了,其他不变

二、为什么需要重写

对原来方法进行改良来满足新的需求。重写是出现在子类继承父类方法中。可以看出,重写就是子类继承的父类方法无法满足子类的新的

功能需求,子类对父类的这个方法进行改良重写的一种方式。子类可以根据需要,定义特定于自己的行为。既沿袭了父类的功能名称,又

根据子类的需要重新实现父类方法,从而进行扩展增强。

三、重写的条件/规则

重写只跟非静态方法(成员方法)有关,而与静态方法无关:

静态方法和非静态方法是不一样的:在静态方法中,方法的调用只和左边声明的对象类型有关,而与右边无关,是哪个类型,就调用对应

的方法。
总结:

  1. 父类的成员方法只能被它的子类重写。     

  2. 声明为 static 的方法不能被重写,但是能够再次声明。

  3. 方法名必须相同;

  4. 返回的类型必须与被重写的方法的返回类型相同

  5. 参数列表必须相同;

  6. 饰符:范围可以扩大但不能缩小:public>Protected>Default;

  7. 抛出的异常:范围,可以被缩小,但不能扩大;

  8. 子类的方法和父类必要一致;方法体不同!;

重载是在一个类中实现的,有多个同名方法,但参数不一样,包括参数类型、参数个数、还可以没有参数,总之每个重载的方法的参数必

须不一样。

posted @ 2021-07-12 16:28  海风不咸  阅读(385)  评论(0)    收藏  举报