📅  最后修改于: 2023-12-03 15:32:02.057000             🧑  作者: Mango
Java是一种面向对象的编程语言,因此它支持继承方式。继承是一种代码重用的方式,可帮助减少重复的代码并简化代码结构。
在Java中,一个类可以继承另一个类的特性。被继承的类称为父类,继承它的类称为子类。子类会自动获得父类中的所有公共和受保护的方法和属性,并且子类还可以添加自己的方法和属性。
以下是一个简单的继承示例:
public class Animal {
private String name;
public Animal(String name) {
this.name = name;
}
public void speak() {
System.out.println("I am an animal.");
}
}
public class Dog extends Animal {
public Dog(String name) {
super(name);
}
public void bark() {
System.out.println("Woof, woof!");
}
}
在这个示例中,Dog类继承了Animal类。Dog类中增加了自己的方法bark(),并通过super()方法调用父类的构造函数以获得从父类继承的name属性。
在Java中,子类构造函数会自动调用其父类的构造函数,以确保父类的属性被正确地初始化。如果子类构造函数未显式调用父类构造函数,则Java编译器将自动调用父类的默认构造函数。如果父类没有默认构造函数,则必须在子类构造函数中显式地调用父类的构造函数。
以下是一个示例:
public class Animal {
private String name;
public Animal(String name) {
this.name = name;
}
public void speak() {
System.out.println("I am an animal.");
}
}
public class Dog extends Animal {
public Dog(String name) {
super(name); // 显式调用父类构造函数
}
public void bark() {
System.out.println("Woof, woof!");
}
}
在这个示例中,Dog类的构造函数显式地调用父类构造函数。请注意,此示例中的Animal类没有默认构造函数,因此必须通过super()方法调用Animal类的构造函数。
继承是Java中代码重用的一种方式。子类继承了父类的属性和方法,并可以添加自己的属性和方法。在子类构造函数中,必须显式地调用父类的构造函数以确保父类的属性被正确地初始化。