Java类允许同一个类中定义多个同名方法,只要形参列表不同就行。如果一个类中包含了两个或两个以上的方法名相同,但形参列表不同,则被称为方法重载。
方法重载的要求就是两同一不同:同一个类中方法名相同,形参列表不同。至于方法的其他部分,如方法返回值类型、修饰符等,与方法重载没有任何关系。
子类包含父类同名方法的现象被称为方法重写(Override),也被称为方法覆盖。
方法的重写要遵循“两同两小一大”规则,“两同”即方法名相同、形参列表相同;“两小”指的是子类方法返回值类型应比父类方法返回值类型更小或相等,子类方法声明抛出的异常类应比父类方法声明抛出的异常类更小或相等;“一大”指的是子类方法的访问权限应比父类方法的访问权限更大或相等。