在Java中,重载和重写是别叫让人混淆的部分,但其实也挺好区别的。
重载 一个类中出现多个同名方法或者是同名构造函数,这就叫方法重载和构造重载
注意这里的关键字是一个类
重载的特点是:方法名字相同且参数列表不同。 与访问修饰符和返回值类型无关。
举个例子:
这就是方法的重载,那构造重载就是同时创建一个有参和一个无参的构造。
下面我们来介绍一些重写-————发生在有父子继承关系时,子类重写父类的方法
可以看出,重写是发生在两个类中的,和重载就能区分开,值得注意的是重写的方法名要保持和父类方法一样的方法名,返回类型。
举个例子:
这里给出一个区别的表格
位置 | 方法名 | 参数表 | 返回值 | 访问修饰符 | |
方法重写 | 子类 | 相同 | 相同 | 相同 | 不能比父类更严格 |
方法重载 | 同类 | 相同 | 不同 | 无关 | 无关 |
注意:访问修饰符是可以改变的,但是重写后的访问修饰符使用范围必须比父类的大
还有就是private修饰的方法是不能重写的。