Java中的Override和Overload

2014-11-24 11:01:44 · 作者: · 浏览: 1

Override:


重写


发生在父类和子类之间,子类重写父类的方法


方法的名称、参数、返回值要一模一样


Overload:


重载


发生在同一个类中


方法的名称一样,参数不同


Override相信大家经常使用,但是Overload不经常使用(或者说使用了也不知道斯Overload)


一个典型的Overload的例子就是构造方法,无参的构造方法和有参的构造方法,他们方法名一样,只是参数名不一样


Q:返回值不一样的方法算不算Overload


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