A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

方法重写和方法重载的区别?方法重载能改变返回值类型吗?

4 个回复

正序浏览
首先,虽然二者都有“重”这个字,但是它们并没有半毛钱关系。
其次,参数和返回值没有任何关系。你可以调用这个方法需要传一堆参数,但是不一定需要返回什么。也可能你调用一个方法,什么都不传,但是会给你返回东西。

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

重写,就是你的类从父类继承的方法不能满足你的需求,你需要自己来实现这样类似的功能。从某种角度来说,也替你省去了起名字的烦恼。然而,更重要的是,用于实现抽象类 以及实现多态。
回复 使用道具 举报
重写是在子父类中,父类方法不能解决子类需求时重写;重载是在同一个类中。
重载和返回值类型没有关系,只和方法名以及参数列表有关系,所以重载是可以
改变返回值类型的。
回复 使用道具 举报
方法重写要求子类具有和父类相同的函数名,参数列表和返回值,而方法重载只要求函数名相同,参数列表不同,与返回值类型无关,可以改变
回复 使用道具 举报
重载跟返回值无关的
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马