重载与重写的区别

重载与重写的区别_第1张图片

1、什么是重载?

在Java 中,同一个类中的2个或2个以上的方法可以有同一个名字,只要它们的参数声明不同即可。在这种情况下,该方法就被称为重载(overloaded ),这个过程称为方法重载(method overloading )。方法重载是Java 实现多态性的一种方式。

2、重载的规则:

1、在同一个类中 

2、方法名必须相同

3、方法的参数

3、什么是重写?

重写指的是在Java的子类与父类中有两个名称、参数列表都相同的方法的情况。由于他们具有相同的方法签名,所以子类中的新方法将覆盖父类中原有的方法。

4、重写的规则:

1、 参数列表必须完全与被重写方法的相同:    类不同   (和返回值类型没有关系)
2、返回类型必须完全与被重写方法的返回类型相同
3、访问权限不能比父类中被重写的方法的访问权限更低。例如:如果父类的一个方法被声明为public,那么在子类中重写该方法就不能声明为protected。
4、父类的成员方法只能被它的子类重写
5、声明为static和privete的方法不能被重写,但是能够被再次声明

5、重载与重写的区别(面试常考)

1、 发生的位置
重载:一个类中
重写:子父类中
2、 参数列表限制
重载:必须不同的
重写:必须相同的
3、 返回值类型
重载:与返回值类型无关
重写:返回值类型必须一致
4、 访问权限
重载:与访问权限无关
重写:子的方法权限 必须不能小于 必父的方法权限
5、 异常处理
重载:于异常无关
重写:异常范围可以更小 但是不能抛出新的异常

你可能感兴趣的:(java,初尘屿风,学习,linq,p2p,c#,java)