Java编程:super关键字详解
在 Java 中,super 是一个关键字,用于访问父类的属性和方法。使用 super 关键字可以在子类中访问和调用父类中的方法、构造函数和变量。下面是关于 super 关键字的详细解释:
1. 访问父类的属性和方法
使用 super 关键字可以访问父类的属性和方法。例如,如果一个子类想要访问父类的属性,可以使用 super 关键字,例如:
public class Animal {
protected int age;
public Animal(int age) {
this.age = age;
}
public void eat(){
System.out.println("Animal is eating.");
}
}
public class Dog extends Animal {
public Dog(int age) {
super(age); // 调用父类中带参数的构造函数
}
public void bark() {
System.out.println("Dog is barking.");
}
public void showAge() {
System.out.println("Dog's age is: " + super.age); // 使用super访问父类属性
}
public void eat() {
super.eat(); // 调用父类方法
System.out.println("Dog is eating.");
}
}
在上述代码中,Dog 类继承了 Animal 类的属性和方法。在 Dog 类中,使用 super.age 来访问父类的 age 属性,并使用 super.eat() 来调用父类的 eat() 方法。
2. 调用父类的构造函数
使用 super 关键字还可以调用父类的构造函数。当子类中没有显式调用父类的构造函数时,Java 编译器会自动调用父类的无参构造函数。如果父类没有无参构造函数,则要使用 super 关键字调用父类的带参数构造函数。例如:
public class Animal {
protected int age;
public Animal(int age) {
this.age = age;
}
}
public class Dog extends Animal {
public Dog(int age, String name) {
super(age); // 调用父类中带参数的构造函数
this.name = name;
}
}
在上述代码中,Dog 类中的构造函数调用了父类 Animal 中的构造函数,通过 super(age) 来传递参数。
super 关键字在 Java 中非常重要,它允许子类访问和调用父类的属性、方法和构造函数。开发者在编写代码时,应当注意使用 super 关键字来提高代码的可读性和可维护性。