news 2026/1/15 10:51:54

期末复习:结构算法题

作者头像

张小明

前端开发工程师

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进行投诉反馈,一经查实,立即删除!
网站建设 2026/1/9 17:38:30

如何高效定制B站API认证凭证:全新Cookies配置指南

掌握B站API调用的核心技巧!本文将为你详细解析bilibili-api项目最新推出的自定义Credential Cookies功能,帮助你快速实现灵活的身份认证配置。 【免费下载链接】bilibili-api 哔哩哔哩常用API调用。支持视频、番剧、用户、频道、音频等功能。原仓库地址&…

作者头像 李华
网站建设 2026/1/12 0:32:07

immunedeconv免疫细胞去卷积工具完整指南:从入门到精通

immunedeconv免疫细胞去卷积工具完整指南:从入门到精通 【免费下载链接】immunedeconv 项目地址: https://gitcode.com/gh_mirrors/imm/immunedeconv 在肿瘤免疫研究领域,准确解析组织样本中各类免疫细胞的比例分布是理解肿瘤微环境复杂性的关键…

作者头像 李华
网站建设 2026/1/13 7:00:07

如何快速搭建企业级开源视频会议平台:Nettu Meet完整指南

如何快速搭建企业级开源视频会议平台:Nettu Meet完整指南 【免费下载链接】nettu-meet Open source video conferencing system for tutors. 项目地址: https://gitcode.com/gh_mirrors/ne/nettu-meet 在远程办公成为新常态的背景下,企业对于安全…

作者头像 李华
网站建设 2026/1/5 7:39:33

OpenVidu实战部署:从零构建企业级视频会议系统

OpenVidu实战部署:从零构建企业级视频会议系统 【免费下载链接】openvidu OpenVidu Platform main repository 项目地址: https://gitcode.com/gh_mirrors/op/openvidu 在远程协作成为常态的今天,如何快速搭建稳定可靠的视频会议平台成为众多企业…

作者头像 李华
网站建设 2025/12/28 20:50:24

Lottie小程序动画引擎:打造专业级视觉交互体验 ✨

Lottie小程序动画引擎:打造专业级视觉交互体验 ✨ 【免费下载链接】lottie-miniprogram 项目地址: https://gitcode.com/gh_mirrors/lo/lottie-miniprogram Lottie-miniprogram是专为微信小程序生态量身定制的动画渲染解决方案,让开发者能够轻松…

作者头像 李华
网站建设 2025/12/31 12:43:23

如何快速掌握STM32 CANopen协议栈:终极开发指南

如何快速掌握STM32 CANopen协议栈:终极开发指南 【免费下载链接】CanOpenSTM32 CANopenNode on STM32 microcontrollers. 项目地址: https://gitcode.com/gh_mirrors/ca/CanOpenSTM32 面对工业自动化项目中复杂的通信需求,你是否在为STM32微控制器…

作者头像 李华