要搞清楚方法重载和方法重写的区别,首先要先搞清楚这两者的意义何在
方法重载
方法重载这个概念是在一个类中,是类中方法以统一的方式处理不同类型数据的一种手段。同时也是Java多态性的一种体现
方法重写
方法重写这个概念存在于有继承关系的两个类中,是子类方法对父类方法进行扩展的一种手段,同时也是Java多态性的一种体现
那么具体他们要遵循什么规则呢?
先说方法重载:
方法重载要求方法名相同,参数的类型、顺序、或个数不同(参数列表不同)。同时要注意的是不能有两个名字相同,参数
类型相同却反悔不同类型值的方法。
这里提一个概念,方法签名,方法签名只的是方法名和参数,返回值并不是签名的一部分
对于我们开发来说,一般开发原则是在进行方法的重载时,要求方法的返回值一定相同
之后是方法重写:
子类重写父类方法,要求子类方法的方法签名和返回值必须与父类相同,子类重写方法的访问控制修饰符的权限一定要大于
父类的访问控制修饰符权限。
两者的对比如下