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

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© XXXRUI 中级黑马   /  2016-5-31 22:44  /  574 人查看  /  4 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

重载和重写的区别是什么

4 个回复

倒序浏览
重载是指方法名相同,参数列表不同,有些情况下可能需要进行某些操作,但是操作时需要传递一些参数,根据参数的不同进行不同的具体实现。
回复 使用道具 举报
549727094 发表于 2016-6-1 10:05
重载是指方法名相同,参数列表不同,有些情况下可能需要进行某些操作,但是操作时需要传递一些参数,根据参 ...

仅仅是跟参数列表和方法名相关,与返回值无关。最常见的就是构造函数了,构造函数是创建对象时用来对对象进行初始化的,比如初始化一名猎人,有可能他创建时有时会有一把猎枪,而有时是猎叉。

重写呢,是以继承为前提,方法名相同,返回值相同,参数列表相同,访问修饰符大于等于父类方法,但是具体的实现细节不同。以人类和婴儿为例子,人类有一个吃的方法,实现细节是用筷子吃,婴儿继承人类,但是吃的细节是用奶嘴。
回复 使用道具 举报
方法重载:
在一个类中可以定义多个同名的方法,但形参列表不能完全相同;
与返回值类型无关;
子类中,可以定义跟父类同名的"成员方法",这叫:重写。
回复 使用道具 举报
只要记住,重载是多个方法名字相同,参数或者返回值不同就行了,就能区分开了
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马