1、概念
它是一个指代变量,用于在子类中指代父类对象。
2、应用范围
super的三种使用情况:
- 访问父类的方法。 (只能在子类的方法和构造方法中)
- 调用父类构造方法。(必须在构造方法的第一个)
- 访问父类中的隐藏成员变量。
super和this不能同时调用构造方法。只有继承了才能用super
简单用例
public class SuperTest {
public static void main(String[] args) {
Cat cat = new Cat();
cat.barking("从main中输入的name(参数)");
}
}
class Animal{
String name = "父类(super)的name";
public Animal(){
System.out.println("父类的无参构造器");
}
}
class Cat extends Animal{
String name = "子类(this)中的name";
public Cat(){
//super();//一般被隐藏。必须要在第一行
System.out.println("子类的无参构造器");
}
void barking(String name){
System.out.println(name);
System.out.println(this.name);
System.out.println(super.name);
}
}