亿迅智能制造网
工业4.0先进制造技术信息网站!
首页 | 制造技术 | 制造设备 | 工业物联网 | 工业材料 | 设备保养维修 | 工业编程 |
home  MfgRobots >> 亿迅智能制造网 >  >> Industrial programming >> java

Java 继承详解:类型、语法与实战案例

什么是继承?

继承 是核心面向对象概念,允许一个类获取另一个类的字段和方法。就像孩子继承父母特征。通过复用现有代码,继承实现 可复用性 并简化维护。

本指南涵盖:

继承类型

Java 支持多种继承模式,适应不同设计需求。

单继承

一个类扩展另一个类,形成简单父子关系。

Java 继承详解:类型、语法与实战案例
类 B 扩展类 A。

多重继承

Java 本身不允许类扩展多个类,但理解该概念有助于使用接口。

Java 继承详解:类型、语法与实战案例
类 C 扩展类 A 和类 B(概念图)。

多级继承

继承链可跨越多层:子类可作为另一个类的父类。

Java 继承详解:类型、语法与实战案例
类 C 扩展 B,B 扩展 A。

层次继承

一个父类衍生出多个子类。

Java 继承详解:类型、语法与实战案例
类 B、C、D 均扩展类 A。

混合继承

混合继承结合单继承和多重继承模式。Java 不直接支持,但使用接口设计复杂层次时该概念有用。

Java 继承详解:类型、语法与实战案例
类 D 继承自类 B 和类 C,它们都扩展类 A。

注意: Java 不支持类的混合或多重继承。

Java 中的继承

Java 用 Is-A 关系表达继承。extends 关键字表示子类继承父类。

典型语法:

class SubClass extends SuperClass {
    // 方法和字段
}

Java 继承示例

下面简例演示继承实际运作。

Java 继承详解:类型、语法与实战案例
Java 继承示例
class Doctor {
    void doctorDetails() {
        System.out.println("Doctor Details...");
    }
}
class Surgeon extends Doctor {
    void surgeonDetails() {
        System.out.println("Surgeon Detail...");
    }
}
public class Hospital {
    public static void main(String[] args) {
        Surgeon s = new Surgeon();
        s.doctorDetails();
        s.surgeonDetails();
    }
}

使用 super 关键字

super 关键字提供对父类成员的访问,类似 this 但针对父类元素。

可用于变量、方法和构造器。

语法示例:

super.methodName();

实战场景:银行账户系统

考虑支持多种账户类型的银行应用。结构化方法会为 deposit 和 withdraw 等通用操作编写单独函数。

Java 继承详解:类型、语法与实战案例

用 OOP,定义包含共享行为的基类 Account,并为特定账户类型扩展它。

Java 继承详解:类型、语法与实战案例
结构化方法:deposit 和 withdraw 使用单独函数。
Java 继承详解:类型、语法与实战案例
OOP 方法:子类化减少重复。

增加透支功能

需求变更增加透支特性时,结构化代码需修改现有函数。OOP 允许创建新子类实现独特 withdraw 逻辑,无需动已测试的基类代码。

Java 继承详解:类型、语法与实战案例
Java 继承详解:类型、语法与实战案例
结构化方法:修改现有 withdraw 函数。
Java 继承详解:类型、语法与实战案例
OOP 方法:新增透支账户子类。

增加信用卡账户

同理,引入具有独特存款规则的信用卡账户,OOP 只需扩展基类并添加专门行为。

Java 继承详解:类型、语法与实战案例
Java 继承详解:类型、语法与实战案例
结构化方法:调整现有存款逻辑。
Java 继承详解:类型、语法与实战案例
OOP 方法:创建带自定义存款逻辑的新子类。

OOP 中继承的优势

继承通过将共享逻辑置于父类消除代码重复。子类继承 deposit 和 withdraw 方法,降低维护成本。

Java 继承详解:类型、语法与实战案例
Java 继承详解:类型、语法与实战案例

java

  1. C# 接口详解:定义、示例与实战应用
  2. 精通 Java 继承:核心概念、类型与实战示例
  3. Java 面向对象核心概念全解析:抽象、封装、继承、多态与关联关系实战
  4. Java 抽象类与抽象方法深度解析:设计模式视角的抽象艺术
  5. Java 封装完全指南:数据隐藏、访问器/修改器、实战案例与核心优势
  6. Java 变量与数据类型完全指南(含示例)
  7. Java String length() 方法:获取字符串长度(示例)
  8. Java String.charAt() 详解:语法、返回类型、异常与实战示例
  9. Java String.contains() 方法:检查子字符串是否存在(实战示例)
  10. 精通 Java String.endsWith():检查字符串后缀(示例)
  11. Java BufferedReader 读取文件:实战指南与示例
  12. Java 插入排序算法详解:核心原理、完整代码与步骤演示