定义:
继承(Inheritance)是面向对象编程中的一种重要概念,它允许一个类(称为子类或派生类)通过继承另一个类(称为父类、基类或超类)的属性和方法来扩展其功能。
在继承中,子类可以继承父类的属性和方法,并且可以添加自己的属性和方法,或者重写父类的方法以修改其行为。这使得代码的重用性更高,同时也能够建立类之间的层次关系。
子类可以使用 super
关键字来访问父类的构造方法、成员变量和成员方法。
特点:
继承是类和类之间的一种关系。
除此之外,类和类之间的关系还有依赖、组合、聚合等。
继承关系的俩个类,一个为子类(派生类),一个为父类(基类)。
JAVA中类只有单继承,没有多继承!
子类继承父类,使用关键字extends来表示。
子类和父类之间,从意义上讲应该具有"is a"的关系。
子类拥有父类的属性和方法:子类继承了父类的所有非私有成员(私有成员对子类是不可见的),包括属性和方法。
子类可以添加新的属性和方法:除了继承父类的成员外,子类还可以添加自己的属性和方法,以扩展其功能。
子类可以重写父类的方法:子类可以根据需要重写(覆盖)父类中的方法,以改变方法的行为,这就是多态的一种表现形式。
实现代码的重用:通过继承,可以避免重复编写相似的代码,提高了代码的重用性和可维护性。
建立类的层次结构:通过多层次的继承,可以建立类之间的层次关系,形成一个类的层次结构,使得类与类之间的关系更加清晰。
所有类直接或间接继承object类
子类继承了父类,就会拥有父类的全部方法!
java
class Dog extends animal {
String breed;
public Dog(String species, int age, String breed) {
super(species, age); // 调用父类的构造函数
this.breed = breed;
}
public void bark() {
System.out.println("This " + breed + " dog is barking.");
}
}
测试类;
java
public class Main {
public static void main(String[] args) {
// 创建一个 Dog 对象
// 调用父类的方法
Dog myDog = new Dog("狗", 3, "金毛");
myDog.eat();
myDog.sleep();
// 调用子类的方法
myDog.bark();
}
}