方法重载和重写都是实现多态性的方式。
前者实现的是编译期的多态,后者实现的是运行时期的多态。方法重载在同一个类中,方法的参数列表(参数类型不同,参数个数不同或者两者不同)则视为方法的重载;
重写发生在子类与父类之间,重写要求子类被重写方法与父类被重写方法有相同的返回类型,比父类的被重写方法更好访问(访问修辞符可见性高),不能比父类被重写方法声明更多的异常(里氏代换原则)。重载对返回类型没有特殊的要求。
本文探讨了方法重载和重写的区别及其在多态性中的应用。重载允许同一类中有多个相同名称但参数不同的方法,而重写则是在子类中覆盖父类的方法以实现动态绑定。
方法重载和重写都是实现多态性的方式。
前者实现的是编译期的多态,后者实现的是运行时期的多态。方法重载在同一个类中,方法的参数列表(参数类型不同,参数个数不同或者两者不同)则视为方法的重载;
重写发生在子类与父类之间,重写要求子类被重写方法与父类被重写方法有相同的返回类型,比父类的被重写方法更好访问(访问修辞符可见性高),不能比父类被重写方法声明更多的异常(里氏代换原则)。重载对返回类型没有特殊的要求。
2030
157
403
464

被折叠的 条评论
为什么被折叠?