方法的覆盖
说明白就是继承父类的方法之后,子类要是想要改写这个方法,就会可以直接将父类继承来的方法进行重写,这个就是后面叫做方法覆盖。
public class a {
int x;
void fx(){ }
}
public class b extends a{
int y;
void fx(){ }
void fy(){
fx();
}
}
方法重载
这个是指一个类中有多个名字一样的方法,但是其中的参数是不同的。重载方法是根据其参数的类型,个数和顺序来区分,之间是必须得有不同的参数表,返回值不同是无法区分两个重载的方法的。
方法覆盖
这个也叫做方法重写,就是子类将父类继承来的方法重新定义,方法的头一样,但是里面的功能和内容不一样,如果子类的方法和父类的某一个方法有一样的方法名字,返回类型和参数表,则新的替换掉老的。需要父类中原有的方法,可以使用super关键字。
Super关键字
类的成员用this做前缀引用,关键字this代表类对象自身,和这个一比较super就很好理解么,要是想要在子类重写(方法覆盖)之后的子类调用父类的变量和父类的方法,就可以使用super来父类中你想要的内容。
1.引用父类的成员变量
super.成员变量
2.调用父类的成员方法
Super.成员方法名(参数表)
3.调用父类的构造方法
Super.(参数表)
要是子类没有声明和父类名字一样的成员变量时候,就不需要引用的时候加super,如果要是有的话就必须得加关键字super,在引用成员变量,调用成员方法,调用构造方法的时候都是一样的。