📜  Java中的Super关键字(1)

📅  最后修改于: 2023-12-03 15:31:57.491000             🧑  作者: Mango

Java中的Super关键字

在Java中,Super关键字用于引用当前对象的父类对象。它可以用于访问父类中被子类覆盖的方法、访问父类中的属性、调用父类的构造方法等。本文将详细介绍Java中的Super关键字的使用。

访问父类中的属性和方法

通过使用Super关键字,我们可以访问父类中的属性和方法。下面是一个例子:

public class Animal {
   public String name = "Animal";

   public void eat() {
      System.out.println("Animal can eat");
   }
}

public class Dog extends Animal {
   public String name = "Dog";

   public void eat() {
      System.out.println("Dog can eat");
   }

   public void display() {
      System.out.println("Animal name: " + super.name);
      super.eat();
   }
}

在上面的例子中,Dog继承自Animal,Dog中有一个name属性,而Animal中也有一个name属性。在display方法中,我们通过Super关键字访问了父类中的name属性和eat方法。

调用父类的构造方法

当子类的构造方法被调用时,Java会默认调用父类的无参构造方法。如果父类没有无参构造方法,子类就需要通过Super关键字来调用父类的有参构造方法。下面是一个例子:

public class Animal {
   public String name;
   
   public Animal(String name) {
      this.name = name;
   }
}

public class Dog extends Animal {
   public String color;

   public Dog(String name, String color) {
      super(name);
      this.color = color;
   }
}

在上面的例子中,Dog继承自Animal,而Animal中有一个有参构造方法。在Dog的构造方法中,我们通过Super关键字调用了Animal的有参构造方法,并传入了name参数。

总结

Super关键字在Java中非常有用,它可以让我们轻松地访问父类中的属性和方法,以及调用父类的构造方法。熟练掌握Super关键字的使用,可以让我们编写更加优秀的Java程序。