java里的super
时间: 2023-11-10 17:56:39 浏览: 33
super是一个关键字,用于访问父类中的属性和方法。它可以用来调用父类的构造方法、访问父类的成员变量、调用父类的成员方法等。
在子类中使用super关键字时,需要注意以下几点:
1. 调用父类的构造方法:在子类的构造方法中使用super关键字,可以调用父类的构造方法,进行初始化工作。
2. 访问父类的成员变量:在子类中使用super关键字可以访问父类中的成员变量。如果子类中定义了和父类相同的成员变量,使用super可以访问父类中的成员变量。
3. 调用父类的成员方法:在子类中使用super关键字可以调用父类中的成员方法。如果子类中定义了和父类相同的成员方法,使用super可以调用父类中的成员方法。
例如:
```
class Animal {
private String name;
public Animal(String name) {
this.name = name;
}
public void eat() {
System.out.println("Animal " + name + " is eating.");
}
}
class Cat extends Animal {
public Cat(String name) {
super(name);
}
public void eat() {
super.eat();
System.out.println("Cat " + super.name + " is eating.");
}
}
public class Test {
public static void main(String[] args) {
Cat cat = new Cat("Tom");
cat.eat();
}
}
```
在上面的例子中,Cat类继承了Animal类,使用了super关键字来调用父类中的构造方法和成员方法。在Cat类的eat方法中,使用了super.eat()来调用父类的eat方法,同时使用了super.name来访问父类中的成员变量。