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

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© Hey丶小黑 中级黑马   /  2014-8-9 22:46  /  1584 人查看  /  14 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

这俩的区别都是啥啊?有点搞不清、、

14 个回复

倒序浏览
重载,比如,我吃饭,同样是吃饭,我可以用勺子吃饭,也可以用筷子吃饭,这就是两个重载的方法,因为参数是勺子,筷子,两个方法用的参数不一样,这就是重载,而重写,比如你爸爸会抽烟,一次抽一颗,因为你继承了你爸爸,你重写了你爸爸的方法,一次抽两颗,参数都是烟,方法是抽烟,方法内你爸爸抽一颗,你抽两颗,这就是重写,如此解答楼主懂了吗?
回复 使用道具 举报 1 0
侯岩卿 来自手机 中级黑马 2014-8-9 22:55:06
藤椅
方法的重写Overriding和重载Overloading是Java多态性的不同表现。重写Overriding是父类与子类之间多态性的一种表现,重载Overloading是一个类中多态性的一种表现。如果在子类中定义某方法与其父类有相同的名称和参数,我们说该方法被重写 (Overriding)。子类的对象使用这个方法时,将调用子类中的定义,对它而言,父类中的定义如同被"屏蔽"了。如果在一个类中定义了多个同名的方法,它们或有不同的参数个数或有不同的参数类型,则称为方法的重载(Overloading)。Overloaded的方法是可以改变返回值的类型。
回复 使用道具 举报

                        A:方法重载
                                方法名相同,参数列表不同。跟返回值类型无关。一个类中也可能存在方法重载
                        B:方法重写
                                方法声明一模一样。存在于子类中,指子类对父类的方法重写

点评

子类重写不能抛出比父类更大的异常  发表于 2014-8-10 08:37
说的很简练!  发表于 2014-8-10 00:33
回复 使用道具 举报
重载,就是参数列表不一样,重写,方法一样,功能实现不一样
回复 使用道具 举报
呵呵,,基础没学好吧,,,
回复 使用道具 举报
重载就是参数列表不一样等等    这么问题很基础   呵呵了,估计水了
回复 使用道具 举报

1、形式:参数(括号内部分)不同为“重载”;参数相同且返回值类型相同为“重写”。2、方法数:“重载”调用时可从多个方法中选择合适的一个;“重写“调用时能选择的只有一个。
回复 使用道具 举报
qingxi1 来自手机 中级黑马 2014-8-10 00:14:32
9#
重载指的是方法的参数个数,参数类型等不一样,而重写则是方法一样,一般用于子类覆盖父类
回复 使用道具 举报
好吧,咱也学习一下
回复 使用道具 举报
Bule丶 发表于 2014-8-9 22:50
重载,比如,我吃饭,同样是吃饭,我可以用勺子吃饭,也可以用筷子吃饭,这就是两个重载的方法,因为参数是 ...

这个解释相当的霸气
回复 使用道具 举报
重载是在一个类中,重写是在具有继承关系的类中。
在同一个类中可以有构造函数和方法重载,都是参数不同(参数个数或者类型)。方法名只要相同即可,对其权限,返回值无要求。
重写是在具有继承关系的类中,遵循几个原则,重写后的方法的访问权限要大于或者等于原方法,返回值类型要小于或等于原方法,抛出异常要小于或等于原方法,方法名和参数列表要一致。静态方法只能重写静态方法。
回复 使用道具 举报
重写与重载的区别:
相同点:重写和重载都要求方法名必须相同。
一,重写是方生在父类和子类之间的;重载是在本类内部的。
二,重载只看方法的参数列表,如参数的个数,或参数的类型不同。
三,重写方法的参数列表必须相同,子类重写父类方法时,方法我访问级别不能比父类小;
      重写方法的返回值类型与父类一样或者是父类类型的子类;
      子类重写父类方法时,如果父类抛出了异常则子类可以不抛,
      如果抛,则抛出的异常只能是父类异常本身或是父类异常的子集。
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马