Java继承机制实战:从军事家族案例看面向对象的多态设计
在软件开发中我们经常会遇到类似同是司令后代为何大哥二哥能做军官小儿子卫民却只能开茶馆这样的继承关系问题。这种场景在面向对象编程中尤为常见特别是在Java等支持继承的语言中子类虽然继承了父类的特性但各自的发展路径和功能实现却可能大相径庭。本文将深入探讨面向对象编程中的继承机制通过一个完整的军事家族案例来演示如何设计类层次结构处理不同子类的差异化发展以及在实际项目中如何合理运用继承和多态特性。1. 继承机制的核心概念1.1 什么是继承继承是面向对象编程的三大特性之一封装、继承、多态它允许我们基于已有的类创建新类。已有的类称为父类或超类、基类新创建的类称为子类或派生类。// 父类司令 class Commander { protected String name; protected int age; protected String rank; public Commander(String name, int age, String rank) { this.name name; this.age age; this.rank rank; } public void command() { System.out.println(name 发布军事命令); } }1.2 继承的优势继承的主要优势包括代码复用、扩展性和维护性。通过继承子类可以重用父类的属性和方法同时可以根据需要添加新的功能或重写现有功能。在实际项目中合理的继承设计可以大大减少代码冗余提高开发效率。比如在我们的军事家族案例中所有后代都继承自司令父亲的基本属性但各自发展不同的职业路径。2. 环境准备与开发工具2.1 开发环境要求JDK 8或以上版本IntelliJ IDEA或Eclipse IDEMaven 3.6 或 Gradle 6.02.2 项目结构设计military-family/ ├── src/ │ └── main/ │ └── java/ │ └── com/ │ └── example/ │ ├── Commander.java │ ├── Officer.java │ ├── Businessman.java │ └── Main.java ├── pom.xml └── README.md2.3 Maven依赖配置?xml version1.0 encodingUTF-8? project xmlnshttp://maven.apache.org/POM/4.0.0 xmlns:xsihttp://www.w3.org/2001/XMLSchema-instance xsi:schemaLocationhttp://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd modelVersion4.0.0/modelVersion groupIdcom.example/groupId artifactIdmilitary-family/artifactId version1.0.0/version properties maven.compiler.source8/maven.compiler.source maven.compiler.target8/maven.compiler.target project.build.sourceEncodingUTF-8/project.build.sourceEncoding /properties dependencies dependency groupIdjunit/groupId artifactIdjunit/artifactId version4.13.2/version scopetest/scope /dependency /dependencies /project3. 核心类设计与实现3.1 父类Commander的完整实现作为整个家族体系的基类Commander类需要定义所有后代共有的属性和行为。package com.example; /** * 司令父类 - 定义军事家族的基本特征 */ public class Commander { // 保护级别的属性子类可以访问 protected String name; protected int age; protected String familyName; protected String militaryRank; // 构造方法 public Commander(String name, int age, String familyName, String militaryRank) { this.name name; this.age age; this.familyName familyName; this.militaryRank militaryRank; } // 公共方法 - 所有后代都能继承 public void issueOrder() { System.out.println(militaryRank name 发布军事命令); } public void familyMeeting() { System.out.println(familyName 家族召开家庭会议); } // getter和setter方法 public String getName() { return name; } public void setName(String name) { this.name name; } public int getAge() { return age; } public void setAge(int age) { this.age age; } public String getFamilyName() { return familyName; } // 显示基本信息 public void displayInfo() { System.out.println(姓名: name); System.out.println(年龄: age); System.out.println(家族: familyName); System.out.println(军衔: militaryRank); } }3.2 军官儿子类的实现大哥和二哥继承父亲的军事传统成为军官。他们除了继承父类的特性外还有自己独特的军事职能。package com.example; /** * 军官儿子类 - 继承自Commander代表从事军事职业的后代 */ public class Officer extends Commander { private String troopType; // 部队类型 private String position; // 职务 private int soldiersUnderCommand; // 指挥士兵数量 public Officer(String name, int age, String familyName, String militaryRank, String troopType, String position) { super(name, age, familyName, militaryRank); this.troopType troopType; this.position position; this.soldiersUnderCommand 0; } // 军官特有的方法 public void trainSoldiers() { System.out.println(position name 正在训练 troopType 部队); } public void commandTroops(int soldierCount) { this.soldiersUnderCommand soldierCount; System.out.println(name 指挥 soldierCount 名士兵); } public void attendMilitaryMeeting() { System.out.println(name 参加军事会议); } // 重写父类方法展示多态性 Override public void displayInfo() { super.displayInfo(); System.out.println(部队类型: troopType); System.out.println(职务: position); System.out.println(指挥士兵数: soldiersUnderCommand); } // 军官特有的getter和setter public String getTroopType() { return troopType; } public void setTroopType(String troopType) { this.troopType troopType; } public String getPosition() { return position; } public void setPosition(String position) { this.position position; } }3.3 经商儿子类的实现小儿子卫民选择不同的发展道路开设茶馆经商。这体现了继承体系中的差异化发展。package com.example; /** * 经商儿子类 - 继承自Commander但选择商业道路 */ public class Businessman extends Commander { private String businessType; // 商业类型 private String shopName; // 店铺名称 private double monthlyRevenue; // 月收入 private int employeesCount; // 员工数量 public Businessman(String name, int age, String familyName, String businessType, String shopName) { // 注意经商儿子没有军衔使用平民作为默认值 super(name, age, familyName, 平民); this.businessType businessType; this.shopName shopName; this.monthlyRevenue 0; this.employeesCount 0; } // 商人特有的方法 public void openShop() { System.out.println(name 的 shopName 开始营业); } public void manageBusiness() { System.out.println(name 正在管理 businessType 业务); } public void calculateRevenue(double revenue) { this.monthlyRevenue revenue; System.out.println(shopName 本月收入: revenue 元); } public void hireEmployees(int count) { this.employeesCount count; System.out.println(雇佣了 count 名员工); } // 重写父类方法展示商业特色 Override public void displayInfo() { System.out.println(姓名: name); System.out.println(年龄: age); System.out.println(家族: familyName); System.out.println(职业: businessType 经营者); System.out.println(店铺: shopName); System.out.println(月收入: monthlyRevenue 元); System.out.println(员工数: employeesCount); } // 经商特有的方法 public void attendBusinessMeeting() { System.out.println(name 参加商业会议); } // getter和setter public String getBusinessType() { return businessType; } public void setBusinessType(String businessType) { this.businessType businessType; } public String getShopName() { return shopName; } }4. 完整实战案例演示4.1 创建家族成员实例下面我们创建具体的家族成员实例展示继承和多态的实际应用。package com.example; /** * 主程序类 - 演示继承和多态的应用 */ public class Main { public static void main(String[] args) { // 创建司令父亲 Commander father new Commander(张将军, 65, 张氏, 上将); // 创建军官大儿子 - 陆军军官 Officer eldestSon new Officer(张大, 35, 张氏, 中校, 陆军, 团长); eldestSon.commandTroops(1500); // 创建军官二儿子 - 海军军官 Officer secondSon new Officer(张二, 32, 张氏, 少校, 海军, 舰长); secondSon.commandTroops(800); // 创建经商小儿子 - 茶馆老板 Businessman youngestSon new Businessman(张卫民, 28, 张氏, 餐饮, 卫民茶馆); youngestSon.hireEmployees(5); youngestSon.calculateRevenue(50000); System.out.println( 家族成员信息展示 ); displayFamilyInfo(father); displayFamilyInfo(eldestSon); displayFamilyInfo(secondSon); displayFamilyInfo(youngestSon); System.out.println( 家族会议场景 ); holdFamilyMeeting(father, eldestSon, secondSon, youngestSon); System.out.println( 各自职业活动 ); performProfessionalActivities(eldestSon, secondSon, youngestSon); } /** * 演示多态使用父类类型处理不同子类对象 */ public static void displayFamilyInfo(Commander familyMember) { System.out.println(--- 成员信息 ---); familyMember.displayInfo(); System.out.println(); } /** * 家族会议 - 所有成员都参与的家庭活动 */ public static void holdFamilyMeeting(Commander... familyMembers) { for (Commander member : familyMembers) { member.familyMeeting(); } System.out.println(家族会议圆满结束\n); } /** * 各自职业活动 - 展示不同子类的特有行为 */ public static void performProfessionalActivities(Officer officer1, Officer officer2, Businessman businessman) { System.out.println(大哥的职业活动:); officer1.trainSoldiers(); officer1.attendMilitaryMeeting(); System.out.println(\n二哥的职业活动:); officer2.trainSoldiers(); officer2.attendMilitaryMeeting(); System.out.println(\n小弟的职业活动:); businessman.openShop(); businessman.manageBusiness(); businessman.attendBusinessMeeting(); } }4.2 运行结果分析运行上述程序你将看到以下输出张大指挥1500名士兵 张二指挥800名士兵 雇佣了5名员工 卫民茶馆本月收入: 50000.0元 家族成员信息展示 --- 成员信息 --- 姓名: 张将军 年龄: 65 家族: 张氏 军衔: 上将 --- 成员信息 --- 姓名: 张大 年龄: 35 家族: 张氏 军衔: 中校 部队类型: 陆军 职务: 团长 指挥士兵数: 1500 --- 成员信息 --- 姓名: 张二 年龄: 32 家族: 张氏 军衔: 少校 部队类型: 海军 职务: 舰长 指挥士兵数: 800 --- 成员信息 --- 姓名: 张卫民 年龄: 28 家族: 张氏 职业: 餐饮经营者 店铺: 卫民茶馆 月收入: 50000.0元 员工数: 5 家族会议场景 张氏家族召开家庭会议 张氏家族召开家庭会议 张氏家族召开家庭会议 张氏家族召开家庭会议 家族会议圆满结束 各自职业活动 大哥的职业活动: 团长 张大正在训练陆军部队 张大参加军事会议 二哥的职业活动: 舰长 张二正在训练海军部队 张二参加军事会议 小弟的职业活动: 张卫民的卫民茶馆开始营业 张卫民正在管理餐饮业务 张卫民参加商业会议4.3 多态性深度解析多态是面向对象编程中的重要概念它允许我们使用统一的接口处理不同类型的对象。在上面的例子中displayFamilyInfo方法接受Commander类型的参数但可以处理其所有子类对象。// 多态的实际应用示例 public class PolymorphismExample { public static void main(String[] args) { Commander[] familyMembers { new Commander(父亲, 65, 张氏, 上将), new Officer(大儿子, 35, 张氏, 中校, 陆军, 团长), new Businessman(小儿子, 28, 张氏, 餐饮, 茶馆) }; // 多态调用同一接口不同行为 for (Commander member : familyMembers) { member.displayInfo(); // 运行时确定调用哪个子类的方法 System.out.println(---------------); } } }5. 继承设计的最佳实践5.1 合理的继承层次设计在设计继承体系时需要遵循is-a关系原则。子类应该是父类的一种特殊类型而不是简单的代码复用。正确示例Officer is-a Commander军官是司令的一种Businessman is-a Commander商人也是司令的后代错误示例不要因为两个类有部分相同代码就强行建立继承关系5.2 方法重写的规范重写父类方法时要遵守以下规范public class Businessman extends Commander { /** * 重写displayInfo方法时的最佳实践 */ Override // 使用Override注解编译器会检查重写是否正确 public void displayInfo() { // 先调用父类方法完成基础信息显示 super.displayInfo(); // 再添加子类特有的信息 System.out.println(商业类型: businessType); System.out.println(店铺名称: shopName); } // 重写equals方法的标准模式 Override public boolean equals(Object obj) { if (this obj) return true; if (obj null || getClass() ! obj.getClass()) return false; Businessman that (Businessman) obj; return Objects.equals(name, that.name) Objects.equals(shopName, that.shopName); } Override public int hashCode() { return Objects.hash(name, shopName); } }5.3 构造方法链的处理在继承体系中构造方法的调用需要特别注意public class Officer extends Commander { private String troopType; public Officer(String name, int age, String familyName, String militaryRank, String troopType) { // 必须首先调用父类构造方法 super(name, age, familyName, militaryRank); this.troopType troopType; } // 如果提供多个构造方法要确保正确的构造方法链 public Officer(String name, int age) { this(name, age, 未知, 少尉, 陆军); // 调用本类其他构造方法 } }6. 常见问题与解决方案6.1 继承关系设计问题问题现象根本原因解决方案子类无法访问父类属性属性修饰符使用private使用protected修饰符或提供getter/setter方法重写后功能异常没有调用super方法在重写方法中适当调用super.方法名()类型转换异常错误的向下转型使用instanceof进行类型检查6.2 多态使用中的陷阱// 错误示例未经检查的向下转型 public class TypeCastExample { public void processFamilyMember(Commander member) { // 错误做法直接强制转型 // Businessman businessman (Businessman) member; // 可能抛出ClassCastException // 正确做法先检查类型 if (member instanceof Businessman) { Businessman businessman (Businessman) member; businessman.manageBusiness(); } else if (member instanceof Officer) { Officer officer (Officer) member; officer.trainSoldiers(); } else { member.issueOrder(); } } }6.3 继承与组合的选择在某些情况下组合可能比继承更合适// 使用组合代替继承的示例 public class BusinessmanWithMilitaryBackground { private Commander father; // 组合关系 private String businessType; private String shopName; public BusinessmanWithMilitaryBackground(Commander father, String businessType, String shopName) { this.father father; this.businessType businessType; this.shopName shopName; } public void displayFamilyBackground() { System.out.println(我的父亲是: father.getName()); System.out.println(家族: father.getFamilyName()); } }7. 高级特性与设计模式应用7.1 抽象类在继承体系中的应用当父类不应该被实例化时可以将其定义为抽象类public abstract class MilitaryPerson { protected String name; protected String rank; public MilitaryPerson(String name, String rank) { this.name name; this.rank rank; } // 抽象方法子类必须实现 public abstract void performDuty(); // 具体方法子类可以继承 public void report() { System.out.println(rank name 报告); } }7.2 接口实现多继承效果Java不支持多继承但可以通过接口实现类似效果// 军事接口 public interface MilitaryService { void issueOrder(); void attendMeeting(); } // 商业接口 public interface BusinessOperation { void manageBusiness(); void calculateProfit(); } // 实现多个接口 public class HybridCareer implements MilitaryService, BusinessOperation { private String name; public HybridCareer(String name) { this.name name; } Override public void issueOrder() { System.out.println(name 发布命令); } Override public void attendMeeting() { System.out.println(name 参加会议); } Override public void manageBusiness() { System.out.println(name 管理业务); } Override public void calculateProfit() { System.out.println(name 计算利润); } }7.3 模板方法模式应用模板方法模式在继承体系中很常见它定义了算法的骨架public abstract class CareerDevelopment { // 模板方法定义发展路径的固定流程 public final void developCareer() { basicEducation(); professionalTraining(); careerPractice(); achievementSummary(); } // 基本步骤子类不能重写 private void basicEducation() { System.out.println(完成基础教育); } // 抽象方法子类必须实现 protected abstract void professionalTraining(); protected abstract void careerPractice(); // 钩子方法子类可以选择性重写 protected void achievementSummary() { System.out.println(总结职业成就); } } // 军官职业发展 public class OfficerCareer extends CareerDevelopment { Override protected void professionalTraining() { System.out.println(接受军事训练); } Override protected void careerPractice() { System.out.println(参与军事行动); } } // 商人职业发展 public class BusinessCareer extends CareerDevelopment { Override protected void professionalTraining() { System.out.println(学习商业管理); } Override protected void careerPractice() { System.out.println(经营商业项目); } Override protected void achievementSummary() { System.out.println(总结商业成就和收益); } }通过本文的完整案例我们深入探讨了面向对象编程中继承机制的实际应用。从基本的类设计到高级的设计模式应用展示了如何在实际项目中合理使用继承和多态特性。这种同源不同路的设计模式在复杂业务系统中非常常见掌握好继承关系的设计对于构建可维护、可扩展的软件系统至关重要。

相关新闻

机器人手机:端侧大模型驱动下的交互革命与架构解析

机器人手机:端侧大模型驱动下的交互革命与架构解析

1. 项目概述:当手机长出“手脚”,一场交互革命正在发生最近科技圈被一个概念彻底点燃了——机器人手机。荣耀在MWC上展示的ROBOT PHONE原型机,与其说是一款新手机,不如说是一个全新的物种。它不再是安静地躺在你口袋里的玻璃板&am…

2026/8/12 17:22:10 阅读更多 →
RK3588 RGA 高地址虚拟内存崩溃:根因、修复与代码详解

RK3588 RGA 高地址虚拟内存崩溃:根因、修复与代码详解

1. 问题背景在 RK3588 平台上构建多路 RTSP 视频流处理管线时,流水线如下:RTSP → FFmpeg 拉流 → MPP 硬解码 → RGA 缩放与色彩转换 → 640640 RGB 输出启用 RGA 后,系统频繁出现驱动报错,严重时直接触发内核异常重启。典型用户…

2026/8/13 4:51:23 阅读更多 →
人形机器人核心技术解析:从运动控制到供应链优势

人形机器人核心技术解析:从运动控制到供应链优势

1. 从春晚舞台到产业牌桌:人形机器人的“舞”动意味着什么今年春晚,一群动作整齐划一、姿态灵动的人形机器人给全国观众留下了深刻印象。这不仅仅是科技与艺术的简单结合,更像是一次精心策划的产业宣言。当这些机器人随着音乐起舞时&#xff…

2026/8/11 2:24:18 阅读更多 →

最新新闻

Windows图标管理全解析:从ICO格式到注册表修改的完整指南

Windows图标管理全解析:从ICO格式到注册表修改的完整指南

1. 项目概述:从图标文件看Windows系统的视觉管理逻辑 如果你在桌面上看到一个陌生的快捷方式,或者发现某个文件夹的图标突然变成了一个白板,又或者想给某个程序换个更顺眼的“脸”,那么你其实已经触及了Windows系统一个既基础又核…

2026/8/13 10:29:08 阅读更多 →
别再瞎搞地震分析了!wavelet python这套代码直接封神

别再瞎搞地震分析了!wavelet python这套代码直接封神

论文: 季凯, 温攀(温攀为通讯作者), 曹鑫, 李畅, 于晓。(2026年)通过什么什么以及基于深度什么什么。辅助民用以及什么什么, 什么什么。(开放什么什么)这里由于原内容部分缺失实在难以精准完整改写, 大致是…

2026/8/13 10:29:08 阅读更多 →
专业图片元数据管理工具:ExifToolGui图形界面完全指南

专业图片元数据管理工具:ExifToolGui图形界面完全指南

专业图片元数据管理工具:ExifToolGui图形界面完全指南 【免费下载链接】ExifToolGui A GUI for ExifTool 项目地址: https://gitcode.com/gh_mirrors/ex/ExifToolGui 你是否曾需要批量编辑照片的拍摄信息、添加地理位置标签,或者整理大量图片的元…

2026/8/13 10:29:08 阅读更多 →
AU-60全功能DSP语音模组深度解析:AI降噪、消回音与波束成型的技术实现

AU-60全功能DSP语音模组深度解析:AI降噪、消回音与波束成型的技术实现

一、技术背景与痛点在智能语音交互场景中,音频前端处理的质量直接决定了后端语音识别、语义理解乃至整个系统的用户体验。当前行业面临的核心矛盾在于:真实使用环境的噪声复杂度远超实验室条件——风扇转动声、空调出风声、空间混响、扬声器与麦克风之间…

2026/8/13 10:29:08 阅读更多 →
电商多平台数据接口对接技术解析与选型指南

电商多平台数据接口对接技术解析与选型指南

1. 电商数据接口多平台对接的现状与挑战 2026年的电商行业正面临前所未有的数据整合压力。根据我过去五年参与过的37个跨平台对接项目经验,平均每个中型电商企业需要同时对接6.8个销售渠道和4.2个ERP系统。这种复杂的对接环境催生了新一代接口技术的演进&#xff0c…

2026/8/13 10:29:08 阅读更多 →
实时PCM音频流处理:onFrameRecord回调下的播放与上传架构实践

实时PCM音频流处理:onFrameRecord回调下的播放与上传架构实践

1. 项目缘起:从实时音频流到业务闭环的挑战 最近在做一个智能语音交互项目,遇到了一个挺典型的场景:需要从设备端实时获取原始的PCM音频流,一边在本地实时播放出来让用户确认,另一边又要同步将音频流上传到云端进行语音…

2026/8/13 10:28:08 阅读更多 →

日新闻

Visual Studio新建项目解决方案为空:系统性排查与修复指南

Visual Studio新建项目解决方案为空:系统性排查与修复指南

1. 问题现象与本质剖析如果你是一位.NET开发者,或者正准备踏入这个领域,那么Visual Studio(后面简称VS)绝对是你绕不开的伙伴。但有时候,这个伙伴会跟你开一个不大不小的玩笑:你满怀期待地点击“创建新项目…

2026/8/13 0:00:09 阅读更多 →
长春建设厅网站:普通人买房办事必看的真实指南与避坑攻略

长春建设厅网站:普通人买房办事必看的真实指南与避坑攻略

说实话,每次提起“长春建设厅网站”这几个字,我心里都挺有感触的。不是因为它有多高大上,也不是因为那里藏着什么不可告人的秘密,恰恰相反,是因为它太“接地气”了,或者说,它是咱们普通人想要在这个城市好好生活、安稳买房时,必须得翻过的一座“数据山”。很多新朋友第…

2026/8/13 0:00:09 阅读更多 →
Windows家庭版远程桌面多用户破解完整指南:RDPWrap终极解决方案

Windows家庭版远程桌面多用户破解完整指南:RDPWrap终极解决方案

Windows家庭版远程桌面多用户破解完整指南:RDPWrap终极解决方案 【免费下载链接】rdpwrap.ini RDPWrap.ini for RDP Wrapper Library by StasM 项目地址: https://gitcode.com/GitHub_Trending/rd/rdpwrap.ini 你是否曾为Windows家庭版无法支持多用户远程桌面…

2026/8/13 0:00:09 阅读更多 →

周新闻

5分钟告别提取码焦虑:baidupankey如何智能破解百度网盘资源锁

5分钟告别提取码焦虑:baidupankey如何智能破解百度网盘资源锁

5分钟告别提取码焦虑:baidupankey如何智能破解百度网盘资源锁 【免费下载链接】baidupankey 在线查询网盘提取码(维护中 rm repo) 项目地址: https://gitcode.com/gh_mirrors/ba/baidupankey 你是否曾经在深夜寻找一份重要资料&#x…

2026/8/13 2:38:34 阅读更多 →
如何快速生成中国车牌图片:Python开源工具完整指南

如何快速生成中国车牌图片:Python开源工具完整指南

如何快速生成中国车牌图片:Python开源工具完整指南 【免费下载链接】chinese_license_plate_generator 中国车牌生成器 项目地址: https://gitcode.com/gh_mirrors/ch/chinese_license_plate_generator 中国车牌生成器是一个基于Python的开源项目&#xff0c…

2026/8/12 1:11:09 阅读更多 →
收藏!小白程序员轻松入门大模型,从Harness工程开始实践

收藏!小白程序员轻松入门大模型,从Harness工程开始实践

文章强调学习大模型不应只关注模型本身,而应重视模型外的系统搭建,即Harness。提出AgentModelHarness的实用公式,详细介绍Harness的四个层次:持久化层、执行层、控制层和观察与验证层。文章还探讨了上下文工程、工具设计、AGENTS.…

2026/8/12 1:11:08 阅读更多 →

月新闻

免费解锁百度网盘SVIP加速:macOS用户必备的下载提速终极指南

免费解锁百度网盘SVIP加速:macOS用户必备的下载提速终极指南

免费解锁百度网盘SVIP加速:macOS用户必备的下载提速终极指南 【免费下载链接】BaiduNetdiskPlugin-macOS For macOS.百度网盘 破解SVIP、下载速度限制~ 项目地址: https://gitcode.com/gh_mirrors/ba/BaiduNetdiskPlugin-macOS 还在为百度网盘macOS版的龟速下…

2026/8/11 17:09:45 阅读更多 →
终极ncmdump指南:3分钟实现网易云NCM音乐解密与格式转换

终极ncmdump指南:3分钟实现网易云NCM音乐解密与格式转换

终极ncmdump指南:3分钟实现网易云NCM音乐解密与格式转换 【免费下载链接】ncmdump 项目地址: https://gitcode.com/gh_mirrors/ncmd/ncmdump 还在为网易云音乐下载的NCM格式文件无法在其他播放器播放而烦恼吗?ncmdump解密工具帮你轻松解决这个困…

2026/8/12 1:11:10 阅读更多 →
HarmonyOS 应用开发《掌上英语》第81篇: 智能体卡片:为英语学习 App 打造桌面级学习助手

HarmonyOS 应用开发《掌上英语》第81篇: 智能体卡片:为英语学习 App 打造桌面级学习助手

AgentCard 智能体卡片:为英语学习 App 打造桌面级学习助手适用平台:HarmonyOS 7.0 (API 26 Beta)一、引言 HarmonyOS 7.0(API 26 Beta)新增了 AgentCard 智能体卡片能力,这是继 HMAF(鸿蒙智能体框架&#x…

2026/8/11 17:09:45 阅读更多 →