方法覆盖与方法重载有何不同

来源:百度知道 编辑:UC知道 时间:2024/05/07 02:54:58
java中方法覆盖与方法重载有何不同

覆盖是返回值一样
重载是返回值不一样

重载:函数名称相同,参数不同。
覆盖:继承关系的类中,子类的方法可覆盖父类的方法。
例子:
public class Person {
public void doAction(int i, int j) { //1
}
public void doAction(int i) { //2重载1
}
}
public class Teacher extends Person {
public void doAction (int i, int j) { //3覆盖1
}
public static void main(String[] args) {
Person p = new Teacher();
p.doAction(1,2); //执行3方法
}
}

简单的说,覆盖是在一个类中的,重载是在2个不同的类中
覆盖是返回值一样
重载是返回值不一样

方法的重载是可以在一个类中出现的,但是他的参数个数,参数的类型,返回值,是可以不一样的,
方法覆盖是两个完全一样的方法,在不同需要的情况下写出不同的数据

方法的重载是指的相同的方法名在同一个类中写出,每个方法后的参数不同.

方法的重写是指在子类中重写父类的方法,与父类中的方法名和参数是相同的.