super的几个作用
1用于从派生类访问基类的成员。
2 派生类要调用基类的构造方法 super() ,super()只能在派生类的构造方法中调用,位于方法首行,基类有参构造方法。
3 调用基类已被其他方法重写的方法
4 访问基类的数据成员: super.成员变量 super.成员方法。子类调用父类的方法,有访问权限的成员变量super()调用父类无参构造方法
public class animal{
protected String name;
protected String sex;
protected int age;
public animal(String name){
this.name=name;
}
public void eat() {
System.out.println("animal eat");
}
}
class cat extends animal{
protected String name;//隐藏父类的变量name
public void eat(){//覆盖父类的方法
System.out.println("cat eat");
}
public void catchmice(){
System.out.println(super.name);//访问父类成员变量
super.eat();//访问父类成员方法
System.out.println(name+"catchmice");
}
}