黑马程序员技术交流社区

标题: 重载和重写区别 [打印本页]

作者: 张万绪    时间: 2015-10-16 16:40
标题: 重载和重写区别
方法的重载和重新有什么区别呀?重载能不能改变返回值的类型呀
作者: 落琪123    时间: 2015-10-16 16:56
重写Overriding是父类与子类之间多态性的一种表现,重载Overloading是一个类中多态性的一种表现,  如果在子类中定义某方法与其父类有相同的名称和参数,我们说该方法被重写(Voerriding)。子类的对象使用这个方法时,将调用子类中的定义,对它而言,父类中的定义如同被屏蔽了,如果在一个类中定义了多个同名的方法,他们或有不同的参数个数或有不同的参数类型,则称为方法的重载(Overriding),Overriding的方法是可以改变返回值的类型。
作者: wome789    时间: 2015-10-16 17:19
1.重写必须继承,重载不用。
2.重写的方法名,参数数目相同,参数类型兼容,重载的方法名相同,参数列表不同。
3.重写的方法修饰符大于等于父类的方法,重载和修饰符无关。
4.重写不可以抛出父类没有抛出的一般异常,可以抛出运行时异常
作者: 止如初见    时间: 2015-10-16 17:27
重载是同一个对象中可以允许有多个名称相同,参数列表不同的函数存在,与返回值类型无关。
重写则是需要子类继承父类或者实现接口,重新复写父类中的方法。
作者: 张万绪    时间: 2015-10-17 09:25
wome789 发表于 2015-10-16 17:19
1.重写必须继承,重载不用。
2.重写的方法名,参数数目相同,参数类型兼容,重载的方法名相同,参数列表不 ...

OK
作者: 奋斗的丫丫    时间: 2015-10-17 19:17
重载是在一个类中,方法名相同,参数列表不同;重写是发生在子父类中,方法名相同,参数列表相同,返回值类型也要相同
作者: bukai123    时间: 2015-10-18 18:11
重载:同类中,同名函数,修改其参数列表(参数类型,参数个数),如,构造函数
重写(覆写):子类继承父类时,对功能相同的函数(方法名,参数列表,返回值类型,3者相同)修改其方法体
作者: 洛克先生EN    时间: 2015-10-19 00:01
这个的确要搞清楚




欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2