java中的super
时间: 2024-05-05 08:15:01 浏览: 10
super是一个关键字,表示父类或超类的引用,可以用来调用父类的构造方法、成员变量和成员方法。
1. 调用父类构造方法
super()表示调用父类的无参构造方法;super(参数列表)表示调用父类的带参构造方法。需要注意的是,super()或者super(参数列表)必须写在子类构造方法的第一行。
2. 调用父类成员变量
super.成员变量名表示调用父类中的成员变量。
3. 调用父类成员方法
super.成员方法名(参数列表)表示调用父类中的成员方法。当子类和父类中有同名的成员方法时,可以使用super来调用父类中的成员方法。
例如:
```
class Animal {
String name;
public Animal(String name) {
this.name = name;
}
public void eat() {
System.out.println(name + " is eating.");
}
}
class Dog extends Animal {
String breed;
public Dog(String name, String breed) {
super(name);
this.breed = breed;
}
public void bark() {
System.out.println(name + " is barking.");
}
public void eat() {
super.eat();
System.out.println(name + " is eating dog food.");
}
}
public class Main {
public static void main(String[] args) {
Dog dog = new Dog("Buddy", "Golden Retriever");
dog.bark();
dog.eat();
}
}
```
输出结果为:
```
Buddy is barking.
Buddy is eating.
Buddy is eating dog food.
```
在Dog类中,使用super调用了Animal类中的构造方法和成员方法eat()。在eat()方法中,先调用了父类Animal中的eat()方法,再输出了狗粮的信息。