java重写与重载的原理与区别

1.重载(overloading):指一个类中具有多个名字相同的方法,他们的参数类型和参数数量不相同.
a.方法的重载是让类以统一的方式处理不同类型数据的一种方式,多个相同函数名的存在在,具有不同的参数类型与个数,重载是一个多态的一种表现.
b.java方法的重载,多个同名函数,它们具有相同的名字,但具有不同的参数和定义,调用方法时通过传递给它们的不同参数类型与个数来决定具体使用使用哪个方法.
c.重载方法的返回值可以相同也可以不同,无法以返回值作为重载函数的区别标准.

2.重写(overriding):子类对父类中的方法进行重现编写
a.父类与子类之间的多态性,对父类函数的进行重新定义.如果在子类定义某方法,与其父类具有相同的函数名以及参数,我们则说该方法被重写,java中子类可继承父类中的方法,而不需要重新编写相同的方法.
b.若子类中的方法与父类中的方法具有相同的方法名,返回类型和参数表,则新方法覆盖原来的方法,如果需要调用父类中的方法,可使用关键字 super来调用.
ps: 1.子类不能重写父类中的final方法.
2.子类不能重写父类中的abstract方法

你可能感兴趣的:(java)