黑马程序员技术交流社区

标题: 重载和重写的区别是什么 [打印本页]

作者: XXXRUI    时间: 2016-5-31 22:44
标题: 重载和重写的区别是什么
重载和重写的区别是什么
作者: 549727094    时间: 2016-6-1 10:05
重载是指方法名相同,参数列表不同,有些情况下可能需要进行某些操作,但是操作时需要传递一些参数,根据参数的不同进行不同的具体实现。
作者: 549727094    时间: 2016-6-1 10:11
549727094 发表于 2016-6-1 10:05
重载是指方法名相同,参数列表不同,有些情况下可能需要进行某些操作,但是操作时需要传递一些参数,根据参 ...

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

重写呢,是以继承为前提,方法名相同,返回值相同,参数列表相同,访问修饰符大于等于父类方法,但是具体的实现细节不同。以人类和婴儿为例子,人类有一个吃的方法,实现细节是用筷子吃,婴儿继承人类,但是吃的细节是用奶嘴。
作者: longyun    时间: 2016-6-1 22:28
方法重载:
在一个类中可以定义多个同名的方法,但形参列表不能完全相同;
与返回值类型无关;
子类中,可以定义跟父类同名的"成员方法",这叫:重写。

作者: ningshuilian    时间: 2016-6-1 22:51
只要记住,重载是多个方法名字相同,参数或者返回值不同就行了,就能区分开了




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