重载和重写有什么区别?

如题所述

重载: 发生在同一个类中,方法名必须相同,参数类型不同、个数不同、顺序不同,方法返回值和访问修饰符可以不同,发生在编译时。   

重写: 发生在父子类中,方法名、参数列表必须相同,返回值范围小于等于父类,抛出的异常范围小于等于父类,访问修饰符范围大于等于父类;如果父类方法访问修饰符为 private 则子类就不能重写该方法。

           
           

温馨提示:答案为网友推荐,仅供参考
第1个回答  2017-12-28

    重写:子类的方法覆盖父类的方法,要求方法名和参数都相同;

    重载:在同一个类中的两个或两个以上的方法,拥有相同的方法名,但是参数却不相同,方法体也不相同。

    重写方法的规则:

1、参数列表必须完全与被重写的方法相同;

2、返回的类型必须一直与被重写的方法的返回类型相同;

3、访问修饰符的限制一定要大于被重写方法的访问修饰符;

4、重写方法一定不能抛出新的检查异常或者比被重写方法申明更加宽泛的检查型异常。

    重载的规则:

1必须具有不同的参数列表;

2可以有不同的返回类型,只要参数列表不同就可;

3、可以有不同的访问修饰符;

4、可以抛出不同的异常。

本回答被网友采纳
第2个回答  2020-05-01