news 2025/12/20 6:19:38

期末复习:结构算法题

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
期末复习:结构算法题

文章目录

    • 题目要求
    • 项目结构
    • 1、Action
    • 2、Colorable
        • Step1:写接口和父类
        • Step2:写实现类
        • Step3:写测试类

题目要求

项目结构

1、Action

代码展示

packageProgramDesign.Action;/** * 定义Action接口,包含常量、抽象方法、静态方法、默认方法 */publicinterfaceAction{// 常量reactionStringreaction="run";// 抽象方法actvoidact();// 静态方法infostaticvoidinfo(){System.out.println("这是静态方法");}// 默认方法shoutdefaultvoidshout(){System.out.println(reaction);}}

先写成“成员内部类”的格式(帮助理解)

packageProgramDesign.Action;/** * 1、先写成成员内部类实现Action接口 */publicclassTestAction{publicstaticvoidmain(String[]args){// 通过成员内部类实现 Action 接口classActionImplimplementsAction{@Overridepublicvoidact(){System.out.println("执行 act 动作");}}// 创建内部类对象ActionImplaction=newActionImpl();// 调用实现后的 act()action.act();// 调用接口的静态方法 info()Action.info();// 调用默认方法 shout()action.shout();}}

再写成“匿名内部类”的格式

packageProgramDesign.Action;/** * 测试动作接口 * 1.匿名内部类 */publicclassTestAction{publicstaticvoidmain(String[]args){// 匿名内部类实现接口 ActionActionaction=newAction(){@Overridepublicvoidact(){System.out.println("匿名内部类实现了 act 方法");}};// 调用实现后的 act 方法action.act();// 调用接口的静态方法 info()Action.info();// 调用默认方法 shout()action.shout();}}

最终运行结果

2、Colorable

Step1:写接口和父类

代码展示

packageProgramDesign.Colorable;/** * 定义Colorable接口,包含setColor方法 */publicinterfaceColorable{voidsetColor(Stringcolor);}
packageProgramDesign.Colorable;/** * 抽象类Toy,包含play方法 */publicabstractclassToy{// 玩具颜色protectedStringcolor;// 抽象方法play(由子类实现)publicabstractvoidplay();}
Step2:写实现类

代码展示

packageProgramDesign.Colorable;// 玩具娃娃类,继承Toy并实现Colorable接口publicclassDollextendsToyimplementsColorable{// 实现设置颜色的方法@OverridepublicvoidsetColor(Stringcolor){this.color=color;// 给父类的color属性赋值}// 实现玩的方法,输出指定内容@Overridepublicvoidplay(){System.out.println("正在玩"+color+"的玩具娃娃");}}
packageProgramDesign.Colorable;/** * 抽象类Toy,包含play方法 */publicabstractclassToy{// 玩具颜色protectedStringcolor;// 抽象方法play(由子类实现)publicabstractvoidplay();}
Step3:写测试类

代码展示

packageProgramDesign.Colorable;/** * 测试类:实例化Call和Doll,调用方法 */publicclassTestToy{publicstaticvoidmain(String[]args){// 实例化玩具车并设置颜色Callcar=newCall();car.setColor("红色");car.play();// 实例化玩具娃娃并设置颜色Dolldoll=newDoll();doll.setColor("蓝色");doll.play();}}

最终运行结果

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2025/12/18 17:23:11

FingerJetFXOSE:解锁指纹识别开发新境界的开源利器

还在为指纹识别系统的复杂算法而头疼吗?🤔 想要快速构建可靠的生物识别应用却苦于技术门槛?今天我要为你介绍一款真正能够改变游戏规则的指纹特征提取库——FingerJetFXOSE!这个由DigitalPersona公司开源贡献的项目,正…

作者头像 李华
网站建设 2025/12/18 17:22:51

程序员必看:Transformer如何解决RNN的长距离依赖问题,建议收藏!

本文详细解释了Transformer架构如何解决RNN和LSTM中的长距离依赖问题。RNN/LSTM由于循环结构,在处理长序列时会出现梯度消失或爆炸,导致早期信息难以传递到后期。而Transformer通过自注意力机制,允许模型在处理序列每个元素时直接关注所有其他…

作者头像 李华
网站建设 2025/12/18 17:21:56

高效笔记神器:DailyNotes如何重塑你的工作流

高效笔记神器:DailyNotes如何重塑你的工作流 【免费下载链接】DailyNotes App for taking notes and tracking tasks on a daily basis 项目地址: https://gitcode.com/gh_mirrors/da/DailyNotes 你是否曾经在繁杂的待办事项中迷失方向?是否因为笔…

作者头像 李华
网站建设 2025/12/18 17:21:47

终极跨平台书签同步指南:BookmarkHub免费完整解决方案

终极跨平台书签同步指南:BookmarkHub免费完整解决方案 【免费下载链接】BookmarkHub BookmarkHub , sync bookmarks across different browsers 项目地址: https://gitcode.com/gh_mirrors/bo/BookmarkHub 你是否曾在办公室Chrome浏览器收藏的重要资料&#…

作者头像 李华
网站建设 2025/12/18 17:21:18

5分钟掌握Python PSD解析:PSD Tools完整开发指南

5分钟掌握Python PSD解析:PSD Tools完整开发指南 【免费下载链接】psd-tools 项目地址: https://gitcode.com/gh_mirrors/ps/psd-tools 在当今设计自动化需求日益增长的背景下,PSD文件的高效处理已成为开发者和设计师的必备技能。Python PSD Too…

作者头像 李华
网站建设 2025/12/18 17:20:23

Windows触控板驱动终极指南:解锁Apple设备全部潜能

还在为Windows系统下Apple触控板功能受限而烦恼吗?mac-precision-touchpad项目为你带来完美解决方案!这款开源Windows触控板驱动能够让你的MacBook触控板或Magic Trackpad在Windows平台上实现原生级别的精密触控体验,彻底告别操作卡顿和功能缺…

作者头像 李华