java面试题网

普通会员

257

帖子

9

回复

131

积分

楼主
发表于 2018-03-21 17:58:22 | 查看: 2449| 回复: 2

①方法重载(Overload):在本类中出现了方法名相同但参数列表不同的方法,与返回值无关,可以改变返回值类型,只看参数列表;

②方法重写(Override):子类中出现了和父类中方法声明一模一样的方法,与返回值有关,返回值和类型都是一样的。



普通会员

15

帖子

1

回复

33

积分
沙发
发表于 2018-03-22 18:18:15

overload指的是重载,具体存在于方法名字相同,但是方法参数类型、参数个数、参数顺序至少有一个不同的方法之间,但是除方法返回值之外全部其他都相同的两个方法不能称之为重载,重载可以存在于同类里面,也可以存在于父类和子类之间;

override指的是重写,两个方法称之为重写的条件的:两个方法的名称、参数个数、参数类型、参数顺序都是一样的,并且两个方法分别位于父类和子类,子类中的方法不能缩小父类方法定义的访问权限,也不能抛出比父类方法更多的异常,如果父类的方法前有final关键字修饰的话,那么子类就不能重写该方法;

其中overload重载称为编译时多态,override重写称为运行时多态,他们是多态的两种形式;


普通会员

0

帖子

19

回复

27

积分
板凳
发表于 2019-02-23 22:27:25

重写是什么都相同 重载是参数和返回值不一定相同

您需要登录后才可以回帖 登录 | 立即注册

java面试题网无聊看看网与java建站系统提供技术支持V2.1 网站地图 © 2016-2018