黑马程序员技术交流社区

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

作者: 邂逅流星雨    时间: 2015-6-16 21:36
标题: 重载和重写
方法重载和重写有什么区别
作者: vilion    时间: 2015-6-16 21:49
重载是方法的参数不一样
重写是改变方法体
作者: 朱智琳    时间: 2015-6-16 21:53
方法重写:
        子父类中出现方法相同的情况。返回值,方法名,参数。必须一模一样。
方法重载:
        同一类中,方法名相同,参数列表不同,跟返回值无关。
作者: 十五号的人生    时间: 2015-6-16 22:00
方法重写:
        子父类中出现方法相同的情况。返回值,方法名,参数。必须一模一样。
方法重载:
        同一类中,方法名相同,参数列表不同,跟返回值无关。


楼上正解啊
作者: zhao_HHH    时间: 2015-6-16 22:14
小琳子也来帮别人排忧解难了,呵呵
作者: guohaichang    时间: 2015-6-16 22:18
重载是说,方法名相同,参数不同,调用时会根据参数类型和个数进行选择调用。重写不是强调调用,而是强调子类对父类的方法重新编写,参数及方法名都一样,执行不一样。
作者: 曹操001    时间: 2015-6-16 22:26
楼上回答的很详细!
作者: keto    时间: 2015-6-16 22:28
方法重载和方法重写的区别:
重载:1.在一个类中;2.方法名相同,参数列表不完全相同;3.跟返回值类型无关;
重写: 1.在子父类关系的情况下; 2.在子类中定义跟父类完全相同的:返回值类型,方法名,形参列表,具有跟父类相同或更宽的访问修饰符,就构成了重写。
作者: Jackie7    时间: 2015-6-16 23:16
方法的重载:方法名相同,参数列表不同,参数列表包括参数类型和参数个数。与返回值类型无关。
方法重写:子父类中,方法的声明完全一致,包括方法返回值、方法名、参数列表;
                  子类的访问权限必须大于等于父类;
                  父类中的私有成员不能被重写;
                  static修饰的方法只能被static的方法重写。
作者: 安安安    时间: 2015-6-17 00:04
楼上已经说了。。很详细。。
作者: lizhi1817    时间: 2015-6-17 01:04
方法的重写和方法的重载的区别?
方法重载:在同一个类中,方法的名字相同,参数列表不同(参数的个数,参数的类型,参数的位置顺序),与返回值类型无关
方法重写:在子父类中,子类的方法的声明与父类的方法的声明完全相同
方法重写的注意事项:
                子类不可以重写父类中私有的成员方法
                子类的方法访问权限必须大于或者等于要重写的父类中的方法的访问权限
                静态方法只能重写静态方法
                final修饰的方法不可以被子类重写
作者: wangwencheng    时间: 2015-6-17 01:06
好多大神,受教了。
作者: lizhi1817    时间: 2015-6-17 01:11
wangwencheng 发表于 2015-6-17 01:06
好多大神,受教了。

还不睡
作者: Happe_Sun    时间: 2015-6-17 09:25

楼上已经说了。。很详细。。
作者: 黑色柳丁    时间: 2015-6-17 10:17
可以从字面理解:
重载:就是重新加载,在同一个类中方法名相同,参数列表不同的现象叫做方法重载.可以想象成做蛋糕,你可以放进不同的原料从而做出不同的蛋糕,但是都是做蛋糕.
重写:就是重新编写.以继承为前提,方法名相同,参数列表相同,方法访问权限修饰符大于等于父类的现象叫做重写。同样可以想象成做糕点,你传进去的可以都是面粉和巧克力,但是做法不同,使用做蛋糕的流程做出来的就是巧克力蛋糕,使用做面包的流程做出来的就是巧克力面包。
重载强调的是参数列表不同,重写强调的是方法内容不同。
作者: zc强盗    时间: 2015-6-17 21:12
楼上的说的都对!
作者: 老徐    时间: 2015-6-17 21:14
我来点个赞
作者: 路途遥远    时间: 2015-6-17 21:37
重载  是参数列表不同,函数名相同
重写  修饰符 函数名 函数列表 返回值 都要一样才行
作者: zlpiano    时间: 2015-6-17 22:22
我来看看,顺便顶一下
作者: 腹黑生姜    时间: 2015-6-17 22:29
重载是方法名和参数列表不一样   重写是指函数一模一样子类继承父类时一般要重写方法
作者: Baymaxman    时间: 2015-6-17 22:53
楼上说的完全正确呀
作者: 悦鹏    时间: 2015-6-17 23:09
大家总结得很好啊!
作者: 为了理想而奋斗    时间: 2015-6-18 11:59
楼山说的对。
作者: 825176857    时间: 2015-6-18 12:15
总结:重写
1、必须是在继承里,
2、方法名、返回值类型、参数个数和参数类型 都必须相同
3、派生类重写的方法的访问权限不能低于基类的权限
4、派生类抛出的异常应该和基类相等或比基类更小
重载
一个类中的方法与另一个方法同名,但是参数表不同,这种方法称之为重载方法。
作者: 改变    时间: 2015-6-18 12:44
又长知识了
作者: rose_xiaomei    时间: 2015-6-18 20:06
该说的都说了,楼上的说的很详细,赞一下。
作者: Nemo    时间: 2015-6-18 20:36
重载是参数的个数或者类型不同,重写是一模一样的两个方法
作者: 我要当大牛    时间: 2015-6-18 20:55
重载是函数名字一样,参数不一样.重写还没学到
作者: 东东的一些事    时间: 2015-6-18 21:21
进来学习的。
作者: wx_J25HxI5W    时间: 2015-6-18 21:58
很简单,
重写是指继承中的子父类之间方法名,返回值,参数列表一模一样。
重载是方法名一模一样,但是参数列表必须不同,参数列表包括参数类型和参数个数。跟返回值没有任何关系




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