重载:重载字面意思多次的意思,也就是同一个方法实现多个不同的逻辑,并可以在同一个类中可以实现。其实现的原理是,方法名相同,参数的个数或者类型不同即可。
重写:重写就是要重新去写(实现),一个类中不可能两个定义一样的方法。因此,重写就是子类对父类定义的方法重新实现一次。
一、方法重载的具体规范:(两同三不同)
两同: 同一类; 方法名称相同
三不同: 参数个数不同;参数类型不同;多参数类型的顺序不同
1、必须具有不同的参数列表;
2、可以有不同的返回类型,只要参数列表不同就可以了;
3、可以有不同的访问修饰符;
4、可以抛出不同的异常。
二、方法重写的具体规范:(两同两小一大)
两同: 方法名称相同; 参数列表相同
两小: 返回值类型小于等于; 抛出的异常小于等于;
一大: 访问权限修饰符大于等于
1、参数列表必须完全与被重写的方法相同,否则不能称其为重写而是重载;
2、返回的类型必须一直与被重写的方法的返回类型相同,否则不能称其为重写而是重载;
3、访问修饰符的限制一定要大于被重写方法的访问修饰符号、(public>protected>default>private);
4、重写方法一定不能抛出新的检查异常或者比被重写方法申明更加宽泛的检查型异常。