黑马程序员技术交流社区

标题: 方法重写和方法重载的区别?方法重载能改变返回值类型吗? [打印本页]

作者: 我爱吃小馒头    时间: 2015-10-24 18:32
标题: 方法重写和方法重载的区别?方法重载能改变返回值类型吗?
方法重写和方法重载的区别?方法重载能改变返回值类型吗?
作者: q2209617    时间: 2015-10-24 23:24
重载跟返回值无关的

作者: 奔跑的小红帽    时间: 2015-10-24 23:50
方法重写要求子类具有和父类相同的函数名,参数列表和返回值,而方法重载只要求函数名相同,参数列表不同,与返回值类型无关,可以改变
作者: 奋斗的丫丫    时间: 2015-10-25 08:53
重写是在子父类中,父类方法不能解决子类需求时重写;重载是在同一个类中。
重载和返回值类型没有关系,只和方法名以及参数列表有关系,所以重载是可以
改变返回值类型的。
作者: WosLovesLife    时间: 2015-10-25 12:37
首先,虽然二者都有“重”这个字,但是它们并没有半毛钱关系。
其次,参数和返回值没有任何关系。你可以调用这个方法需要传一堆参数,但是不一定需要返回什么。也可能你调用一个方法,什么都不传,但是会给你返回东西。

再来说:
重载,其实是为了为了你在调用方法的时候实现对参数接收的自适应。比如做个加法计算,如果你传入int 就按照int的方式来处理,传入float就按float来处理。
也就是说,你可以不用根据不同的参数定义不同的方法名字,大大解决了起名字的烦恼……用起来更方便。

重写,就是你的类从父类继承的方法不能满足你的需求,你需要自己来实现这样类似的功能。从某种角度来说,也替你省去了起名字的烦恼。然而,更重要的是,用于实现抽象类 以及实现多态。




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