黑马程序员技术交流社区

标题: Overload和Override的区别 [打印本页]

作者: 张海洋    时间: 2013-3-22 23:42
标题: Overload和Override的区别
本帖最后由 黄玉昆 于 2013-3-23 08:44 编辑

Overload和Override的区别?Overloaded的方法是否可以改变返回值的类型?
作者: 全超    时间: 2013-3-22 23:45
请看本帖。。http://bbs.itheima.com/thread-41789-1-2.html
作者: 于腾飛    时间: 2013-3-22 23:54
override(重写)
1、方法名、参数、返回值相同。
2、子类方法不能缩小父类方法的访问权限。
3、子类方法不能抛出比父类方法更多的异常(但子类方法可以不抛出异常)。
4、存在于父类和子类之间。
5、方法被定义为final不能被重写。
   overload(重载)
1、参数类型、个数、顺序至少有一个不相同。  
2、不能重载只有返回值不同的方法名。
3、存在于父类和子类、同类中。


Overloaded的方法是可以改变返回值的类型。

作者: 马利    时间: 2013-3-22 23:58
overload和override实际上是没有任何关系的,但是很多面试中会拿出这种问题来问
首先overload是指函数重载,属于同类内同名函数范畴
而override指的是函数重写,属于子类对父类函数函数重写范畴
前者是类内的事情,后者是两个类之间的事情,这样解释区别就很明显了吧

另外回答你第二个问题,你的意思应该是想问返回值类型改变后同名函数是否还是函数重载对不对。一句话,判断是否是函数重载看的只是:参数列表,不要去管返回值类型
作者: 马利    时间: 2013-3-22 23:58
overload和override实际上是没有任何关系的,但是很多面试中会拿出这种问题来问
首先overload是指函数重载,属于同类内同名函数范畴
而override指的是函数重写,属于子类对父类函数函数重写范畴
前者是类内的事情,后者是两个类之间的事情,这样解释区别就很明显了吧

另外回答你第二个问题,你的意思应该是想问返回值类型改变后同名函数是否还是函数重载对不对。一句话,判断是否是函数重载看的只是:参数列表,不要去管返回值类型




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