java中重载和重写的区别 - 黄文超
View Post
java中重载和重写的区别
1、重写的规则
1、重写发生在子父类当中
2、子类重写的方法的访问权限必须大于等于父类(public > default > protected > private)
3、父类中用static或者用private修饰的方法在子类中不能被重写,但是可以再次声明
4、父类的方法只能被子类重写
5、子类重写时,返回值类型,参数列表,必须与父类一致
2、重载的规则
1、重载发生在一个类或者子父类中
2、重载与返回值无关,重载要求方法名相同,但是 参数列表 或者 参数列表顺序 或者 参数类型 不同
3、java中重载(overload)和重写(override)的区别
1、发生的位置:
重载:一个类中或者子父类
重写:子父类中
2、参数列表的限制:
重载:无限制
重写:必须一致
3、返回值类型的限制
重载:与返回值无关
重写:与返回值一致
4、访问权限
重载:与访问权限无关
重写:子方法的权限必须大于等于父类的权限,static和private修饰的方法不能被重写,只能被声明
5、异常处理
重载:与异常无关
重写:异常范围更小,但是不能抛出新的异常