方法的重写与重载
方法的重写(Overriding)和重载(Overloading)是java多态性的不同表现,
重写是父类与子类之间多态性的一种表现,
重载可以理解成多态的具体表现形式。
重写(Override)
重写是子类对父类的允许访问的方法的实现过程进行重新编写, 返回值和形参都不能改变。即外壳不变,核心重写!
重写的规则
1.方法名、参数、返回值相同。
2、子类方法不能缩小父类方法的访问权限。
3、子类方法不能抛出比父类方法更多的异常(但子类方法可以不抛出异常)
4、存在于父类和子类之间。
5、方法被定义为final不能被重写。
Super 关键字:当需要在子类中调用父类的被重写方法时,要使用 super 关键字;
重载(Overload)
重载(overloading) 是一个类中多态性的一种表现,指同一个类中不同的函数使用相同的函数名,但是函数的参数个数或类型不同。
可以有不同的返回类型;可以有不同的访问修饰符;可以抛出不同的异常。调用的时候根据函数的参数来区别不同的函数。
重载的规则
1、参数类型、个数、顺序至少有一个不相同。
2、不能重载只有返回值不同的方法名。
3、存在于同类中