函数的复写(override)
- 复写(override)也被称之为覆盖或者重写
- 在具有父子关系的两个类当中
父类和子类各有一个函数,这两个函数的定义(返回值类型、函数名、参数列表完全)完全相同
class Person{
int age;
String name;void introduce(){ System.out.println("age = "+age+" , name = "+name); }
}
class Student extends Person{
String address;
void introduce(){
System.out.println(“age = “+age+” , name = “+name);
System.out.println(“address = “+address);
}
}class Test{
public static void main(String[] args){
Person susan = new Person();
susan.age = 38;
susan.name = “susan”;
susan.introduce();Student stu = new Student(); stu.name = "curry"; stu.age = 18; stu.address = "LA"; stu.introduce(); }
}
使用super调用父类的成员函数
可以发现,上例中,Student中的introduce()重复使用了Student中introduce()的代码,所以可以使用super关键字解决这个问题:
void introduce(){
super.introduce();
System.out.println("address = "+address);
}