Java super详解

222 阅读1分钟

1、概念

它是一个指代变量,用于在子类中指代父类对象。

2、应用范围

super的三种使用情况:

  1. 访问父类的方法。 (只能在子类的方法和构造方法中)
  2. 调用父类构造方法。(必须在构造方法的第一个)
  3. 访问父类中的隐藏成员变量。

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);
    }
}