java中重写与重载的区别

重写与重载的区别:
方法的重载是同一个类中的多个方法具有相同的名称,但这些方法具有不同的参数列表,即参数的数量与参数的类型不能完全相同;
方法的重写是存在于子类与父类之间的,子类与父类的方法具有相同的的方法名称,相同的参数列表与相同的返回类型
注:
(1).子类中不能重写父类的final方法
(2).子类中必须重写父类的abstract方法
重载(overloading):
(1).方法的重载是让类以统一的方式处理不同类型的数据的一种手段。多个同名函数同时存在,具有不同的参数个数/类型,重载是一个类中多态的一种表现
(2).Java的方法的重载,就是在类中可以创建多个方法,他们具有相同的名字,但具有不同的参数和不同的定义,调用方法的时候通过传递给他们不同的参数个数和参数类型来决定具体使用哪个方法,这就是多态性;
(3).重载的时候,方法名要一样,但是参数类型与个数不一样,返回值类型可以相同也可以不相同,无法以返回型别作为重载函数的区分标准
重写(overriding):
(1).父类与子类之间的多态性,对父类的函数进行重新定义。如果在子类中定义某方法与父类有相同的名称与参数,我们说该方法被重写(overriding).在JAVA中,子类可继承父类的方法,而不需要重现编写相同的方法,如果子类需要做一定的修改,这就需要采用方法的重写,方法的重写又称方法的覆盖;
(2).若子类中的方法与父类中的某一方法具有相同的方法名,返回类型或者参数表,则新方法将会覆盖原有的方法,如需父类中原有的方法,可以使用super关键字,该关键字引用了当前类的父类
(3).子类函数的修饰权限不能小于父类的
具体参考:https://www.cnblogs.com/upcwanghaibo/p/6527354.html

©️2020 CSDN 皮肤主题: 大白 设计师:CSDN官方博客 返回首页