方法的重载和重写都是实现多态的方式,重载是实现编译时的多态性,重写是实现运行时的多态。
重载的规则:
1、方法名一致,参数列表中参数的顺序,类型,个数不同。
2、重载方法的返回值无关,存在子类和父类,同类中。
3、可以抛出不同异常,可以有不同修饰符。
重写的规则:
1、重写方法的参数列表必须完全与被重写的方法的相同,否则不能称其为重写而是重载.
2、重写方法的访问修饰符一定要大于被重写方法的访问修饰符(public>protected>default>private)。
3、重写的方法的返回值必须和被重写的方法的返回一致;
4、重写的方法所抛出的异常必须和被重写方法的所抛出的异常一致,或者是其子类;
5、被重写的方法不能为private,否则在其子类中只是新定义了一个方法,并没有对其进行重写。
6、静态方法不能被重写为非静态的方法(会编译出错)。
重载和重写的区别
最新推荐文章于 2019-01-08 12:48:39 发布