重写和重载

重写:
是发生在子类和父类中,也就是说有继承关系的两个类中,要求方法名和参数列表相同,

返回值类型也需要县相同,但是java1.7之后,返回值类型是父类返回值类型的子类即可,

也就是说返回值类型是父类的派生类即可。

重载:
是发生在同一个类中,要求方法名相同,参数列表必须不同,返回值类可相同也可不相同
每个重载的方法(或者构造函数)都必须有一个独一无二的参数类型列表。
最常用的地方就是构造器的重载。

Super 关键字的使用
当需要在子类中调用父类的被重写方法时,要使用 super 关键字。

构造方法
构造方法不能被重写,因为重写发生在父类和子类之间,要求方法名称相同,而构造方法的名称是和类名相同的,而子类类名不会和父类类名相同,所以不可以被重写
构造方法可以被重载。

小结
方法的重写(Overriding)和重载(Overloading)是java多态性的不同表现
(1)方法重载是一个类中定义了多个方法名相同,而他们的参数的数量不同或数量相同而类型和次序不同,则称为方法的重载(Overloading)。
(2)方法重写是在子类存在方法与父类的方法的名字相同,而且参数的个数与类型一样,返回值也一样的方法,就称为重写(Overriding)。
(3)方法重载是一个类的多态性表现,而方法重写是子类与父类的一种多态性表现。
重载与重写,喜欢忘得来看看
我已背上一身苦困后悔与唏嘘
你眼里却此刻充满泪

相关文章: