方法重载和方法重写

方法重载

Java允许同一个类里定义多个同名方法,只要形参列表不同就行。如果同一个类中包含了两个或两个以上的方法 名相同,但形参列表不同,则被称为方法重载。

方法重载的要求就是两同一不同:同一个类中方法名相同,参数列表不同(参数个数、类型、顺序)。至于方法 的其他部分,如方法返回值类型、修饰符等,

与方法重载没有任何关系。


方法重写

什么是方法重写 
在一个子类包含与父类同名方法的现象被称为方法重写,也被称为方法覆盖(Override)。
 
方法重写需要遵循哪些规则  
1.方法名相同
2.方法的形参列表相同
3.子类方法返回值类型应比父类方法返回值类型更小或者相等
4.子类方法中声明抛出的异常类应比父类方法中声明抛出的异常类更小或相等
5.子类方法的访问权限应比父类方法的访问权限更大或相等。

注意:覆盖方法和被覆盖方法要么都是类方法,要么都是实例方法,不能一个是实例方法,一个类方法。

* 总结一句话:两同两小一大一注意。


注意:重载主要发生在同一个类的多个同名方法之间,而重写发生在子类和父类的同名方法之间。

但父类方法和子类方法之间也可能发生重载,因为子类会获得父类方法,如果子类定义了一个与父类方法

有相同的方法名,但参数列表不同的方法,就会形成父类方法和子类方法的重载。

原文地址:https://www.cnblogs.com/t0404/p/10291105.html