灯火互联
管理员
管理员
  • 注册日期2011-07-27
  • 发帖数41778
  • QQ
  • 火币41290枚
  • 粉丝1086
  • 关注100
  • 终身成就奖
  • 最爱沙发
  • 忠实会员
  • 灌水天才奖
  • 贴图大师奖
  • 原创先锋奖
  • 特殊贡献奖
  • 宣传大使奖
  • 优秀斑竹奖
  • 社区明星
阅读:3137回复:0

Java中的Override和Overload

楼主#
更多 发布于:2012-09-08 09:47


Override:
重写
发生在父类和子类之间,子类重写父类的方法
方法的名称、参数、返回值要一模一样

Overload:
重载 www.atcpu.com
发生在同一个类中
方法的名称一样,参数不同


Override相信大家经常使用,但是Overload不经常使用(或者说使用了也不知道斯Overload)
一个典型的Overload的例子就是构造方法,无参的构造方法和有参的构造方法,他们方法名一样,只是参数名不一样


Q:返回值不一样的方法算不算Overload
A:不算!Overload的区分只看参数一样不一样(参数的个数,类型,顺序)。如果你写了两个方法,只有返回值不同,其他的都一样的话,编译器会报错。如果参数不同,返回值也不同的话,虽然也是Overload,不过一般不这样写,除非有特殊情况,Overload的返回值一般情况下是一样的。

作者:tianjf0514



喜欢0 评分0
游客

返回顶部