super: 代表了父类的引用。
super可以用在子类的实例方法中调用父类中的公共和受保护的方法以及成员变量。
子类的全部构造器默认一定会调用父类的无参构造器,super可以根据参数选择调用父类的构造器。
public class ExtendsDemo {
public static void main(String[] args) {
Apple apple = new Apple();
apple.show();
}
}
/**
* 水果父类
*/
class Fruit {
public String name = "fruit";
public Fruit() {
System.out.println("Fruit");
}
public void show() {
System.out.println("水果");
}
}
/**
* 苹果子类继承水果父类
*/
class Apple extends Fruit {
public String name = "apple";
public Apple() {
//默认会调用父类无参构造器
super();
System.out.println("Apple");
}
public Apple(String name) {
//默认也会调用父类无参构造器
super();
this.name = name;
}
//对父类show()方法进行了重写
@ Override
public void show() {
//用super关键字显示调用父类的方法
super.show();
//用super关键字调用父类的成员变量
System.out.println(super.name);
//调用当前类中的成员变量
System.out.println(name);
}
}