Java中的Override和Overload


Override:

重写

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

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

Overload:

重载

发生在同一个类中

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

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

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

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

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

相关内容