17 重载与重写
17 重载与重写
定义
在同一个类中,对具有相同方法名但形参个数不一样或者形参的类型不一样或形参顺序不一样(形参不同)的方法,我们把这些方法叫做重载方法,他们之间构成了方法的重载
在具有继承关系的类中,祖先类中的方法A与子类的方法B如果除了方法体以外,其余部分皆一样,那么就称方法B实现方法A的重写,即构成重写关系.
注意:
1.重写定义里面提到的其余部分指的是返回值类型、方法名、形参类型、个数以及顺序
2.重写要求:子类的访问权限应该大于等于父类的访问权限
产生的可能原因
重载
无参的构造方法已经不能满足人们的需求,人们希望的是通过不同的构造方法对对象进行不同的初始化赋值
重写
子类不想原封不动的调用父类的方法,想有自己的特色(也有可能是为了父类声明,子类实现,然后调用同名方法准备的)
代码说明
重载
public class Person{
private int length=10;
public Person(){
}
public Person(int length){
this,length=length;
}
}
Person中的两个构造方法实现了方法的重载
重写
public class Person{
private int age;
public void info(){
System.out.print("Person类里面的方法");
}
}
public class Student extends Person{
public void info(){
int a=1;
}
}
子类Student中的info方法就实现了方法的重写