继承
1.基本概念
继承可以解决编程中代码冗余的问题,是实现代码重用的重要手段之一。继承是软件 可重用性的一种表现,新类可以在不增加自身代码的情况下,通过从现有类中继承其 属性和方法,来实现充实自身内容,这种现象或行为就称为继承。此时新类称为子 类,现有类称为父类。继承最基本的作用就是使得代码可以重用,增加软件的可扩展 性。
Java类中只支持单继承,即一个类只能有一个直接父类。
类与类之间有三种关系,分别是“is a”,“use a”,“has a”,继承表达的是“is a”的关 系,如Dog is a Pet,学生 is a 人,苹果 is a 水果等。 继承的语法规则如下:
[访问修饰符] class 类名 extends 父类名{
}
- 子类可以继承父类的非私有属性和方法。子类可以使用父类的属性和方法,无 需重新编写相同的代码。
- 子类可以添加自己的属性和方法。子类可以增加父类中没有的属性和方法,从 而增加代码的灵活性和可扩展性。
- 子类的构造方法可以调用父类的构造方法。在子类的构造方法中使用super关键 字可以调用父类的构造方法,从而初始化父类的属性。
- Object类是所有类的根类。每个类都是Object类的子类,因此可以使用Object类 中定义的一些通用方法,如equals()、hashCode()、toString()等。
- Java中的类只支持单一继承,每个类只能有一个父类(直接父类)。
- 子类可以成为其他类的父类,从而建立多级继承关系。但是,过多的继承可能 会导致代码难以理解和维护。
- 继承是java的三大特性之一
- 继承就是子类继承父类的特征和行为,来实现充实自身内容
- 格式:使用extends关键字申明一个类是从另一个类继承而来
- 现有类称为父类、超类、基类,新类称为子类、扩展类
- 继承的作用:代码复用,增加软件的可扩展性
- 继承分为单继承、多继承,java中 类 只支持单继承,也就是一个类只能有一个直接父类。
2.继承的语法
在Java中,使用extends
关键字实现继承。子类通过继承父类获得其非私有成员(字段和方法)。
class Parent {
// 父类的成员
}
class Child extends Parent {
// 子类的成员
}
3.方法重写(Override)
方法重写(Method Override)是Java继承中的一个重要概念,它允许子类覆盖父类中已经存在的方法,以适应子类的特定需求。重写方法使得子类能够在不改变方法签名的情况下,为其提供自定义的实现。
1. 方法重写的条件
为了成功地重写父类的方法,子类的方法必须满足以下条件:
- 方法名必须与父类中被重写的方法名相同。
- 方法参数列表必须与父类中被重写的方法参数列表完全一致。
- 返回类型必须兼容,即子类的返回类型可以是父类返回类型的子类型(协变返回类型)。
- 访问修饰符不能更严格,即子类的访问修饰符可以与父类相同或更宽松,但不能更严格。
class Parent {
void printMessage() {
System.out.println("Hello from Parent");
}
}
class Child extends Parent {
@Override
void printMessage() {