概念
1、什么是重载?
简单点来说,重载就是方法名相同,而参数列表不同(可以是参数的类型、个数或是顺序的不同)。这样几个同方法名而参数不同的方法之间则互相称为重载方法。重载方法对于返回类型并没有要求,可以相同也可以不同。
2、什么是重写?
所谓重写,就是在子类中将继承的父类的方法重新写一遍,重写要求方法名、参数列表以及返回值类型都与父类保持一致,只对方法体进行修改。要注意的是,子类的访问修饰权限不能小于父类的。
区别
方法的重载和重写都是实现多态的方式。但是重载则是实现编译时的多态性,而重写则是实现的是运行时的多态性。重载发生在同一个类中,同一个方法名有不同的参数列表则为重载。重写发生在子类和父类之间,要求方法名、参数列表、返回值类型都要相同。而且访问权限不能小于父类。
什么时候用重载?什么时候用重写?
1、重载是多态的集中体现,在类中,要以统一的方式处理不同类型数据的时候,可以用重载。
2、重写的使用是建立在继承关系上的,子类在继承父类的基础上,增加新的功能,可以用重写。