JAVA和Nginx 教程大全

网站首页 > 精选教程 正文

重载(Overload)与重写(Override) 重载和重写

wys521 2024-11-09 15:04:49 精选教程 19 ℃ 0 评论

重载和重写虽然只有一字之差,但是他们的作用和使用规则却有着很大的不同,接下来我们首先来看看重载:

重载(Overloading)

1. 方法重载是让类以统一的方式处理不同类型数据的一种手段。多个同名函数同时存在,具有不同的参数个数/类型。

2. 重载Overloading是一个类中多态性的一种表现。

3. Java的方法重载,就是在类中可以创建多个方法,它们具有相同的名字,但具有不同的参数和不同的定义。

4. 调用方法时通过传递给它们的不同参数个数和参数类型来决定具体使用哪个方法, 这就是多态性。

5. 重载的时候,方法名要一样,但是参数类型和个数不一样,返回值类型可以相同也可以不相同。无法以返回型别作为重载函数的区分标准。

6. 父类方法被默认修饰时,只能在同一包中,被其子类被重写,如果不在同一包则不能重写。

7. 父类的方法被protoeted时,不仅在同一包中,被其子类被重写,还可以不同包的子类重写。


上图显示的就是重载的一个使用方式,大家需要注意的是重载他是在一个类中实现,通过改变形参列表的方式实现重载。

重写的基本规则

1. 参数必须要一样,且返回类型必须兼容

重写是派生类对基类的允许访问的方法的实现过程进行重新编写, 返回值和形参都不能改变。即外壳不变,核心重写!基类定义出其他的程序代码要如何使用方法。

不管基类使用了哪种参数,覆盖此方法的派生类也一定要使用相同的参数。同样,不论基类声明的返回类型是什么,派生类必须要声明返回一样的类型或该类型的派生类。要记得,派生类对象必须保证可以执行基类的一切。

2. 不能降低方法存取的极限简而言之,方法和变量的存取权必须相同或者更为开放。例如不能把public的方法降低为private。

3. 基类的成员方法只能被它的派生类重写。

4. 声明为 final 的方法不能被重写。

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

6. 构造方法不能被重写。

7. 如果不能继承一个方法,那么它一定不能被重写

8. 当需要在派生类中调用基类的被重写方法时,要使用 super 关键字。

本文暂时没有评论,来添加一个吧(●'◡'●)

欢迎 发表评论:

最近发表
标签列表