news 2026/4/15 5:31:28

[期末复习01——02] 结构类算法题

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
[期末复习01——02] 结构类算法题

文章目录

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

题目要求

项目结构

1.Action

2.Colorable

Step1.写接口和父类

Step2.写实现类

Step3.写测试类

题目要求

项目结构

1.Action
代码展示

packageProgramDesign.Action;/** * 接口 * 1.方法的定义(抽象方法、静态方法、默认修饰权限) */publicinterfaceAction{//1.定义常量Stringreaction="run";//2.定义抽象方法actabstractvoidact();//3.定义静态方法infostaticvoidinfo(){System.out.println("这是静态方法");}//4.默认方法shout,输出常量reactionstaticvoidshout(){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,包含一个方法void setColor(String color)。 */publicinterfaceColorable{voidsetColor(Stringcolor);}
packageProgramDesign.Colorable;/** * 创建一个抽象类 Toy,包含一个方法void play()。 */publicabstractclassToy{publicabstractvoidplay();}

Step2:写实现类

packageProgramDesign.Colorable;/** * Doll类,继承自Toy类,并实现Colorable接口。 */publicclassDollextendsToyimplementsColorable{privateStringcolor;@OverridepublicvoidsetColor(Stringcolor){this.color=color;}@Overridepublicvoidplay(){System.out.println("正在玩"+color+"的玩具娃娃");}}
packageProgramDesign.Colorable;/** * 创建一个抽象类 Toy,包含一个方法void play()。 */publicabstractclassToy{publicabstractvoidplay();}

Step3:写测试类

packageProgramDesign.Colorable;/** * 测试类: * 1.实例化Car和Doll对象,分别调用setColor方法设置它们的颜色为“红色”和“蓝色”。 * 2.分别调用play()方法,打印出“正在玩红色的玩具车”和“正在玩蓝色的玩具娃娃”。 */publicclassTestToy{publicstaticvoidmain(String[]args){Carcar=newCar();car.setColor("红色");car.play();Dolldoll=newDoll();doll.setColor("蓝色");doll.play();}}

运行结果:

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

【码道初阶】【Leetcode105106】用遍历序列还原二叉树:前序+中序、后序+中序的统一套路与“先建哪边”的坑

【Leetcode105&106】用遍历序列还原二叉树:前序中序、后序中序的统一套路与“先建哪边”的坑二叉树的遍历序列题,特别像“看上去是模板题,但真正拉开差距的是细节”。很多时候不是不会写,而是写着写着就把“顺序”弄反&#x…

作者头像 李华
网站建设 2026/3/31 17:05:14

群晖视频信息插件终极指南:轻松打造专业影视库

想要让群晖Video Station中的影视库信息更加完整专业吗?群晖视频信息插件正是您需要的解决方案。这款专为Synology Video Station设计的插件,通过强大的网络数据获取能力,能够从多个权威数据源自动获取丰富的影视元数据,让您的个人…

作者头像 李华
网站建设 2026/4/12 23:54:53

突破STM32 CANopen开发瓶颈:这个开源协议栈让工业通信如此简单

突破STM32 CANopen开发瓶颈:这个开源协议栈让工业通信如此简单 【免费下载链接】CanOpenSTM32 CANopenNode on STM32 microcontrollers. 项目地址: https://gitcode.com/gh_mirrors/ca/CanOpenSTM32 在工业自动化领域,CANopen协议以其稳定可靠而闻…

作者头像 李华
网站建设 2026/4/12 3:50:19

5分钟掌握Android权限申请:XXPermissions框架终极指南

5分钟掌握Android权限申请:XXPermissions框架终极指南 【免费下载链接】XXPermissions Android 权限请求框架,已适配 Android 14 项目地址: https://gitcode.com/GitHub_Trending/xx/XXPermissions 还在为Android权限申请的各种坑而烦恼吗&#x…

作者头像 李华
网站建设 2026/4/9 23:03:49

原圈科技AI CRM系统全景解析:智能化赋能营销增长新突破

摘要:AI CRM系统与原圈科技在B2B企业获客和销售转化领域被普遍视为表现突出的解决方案。其技术能力、行业适配度、服务稳定性及丰富的客户案例,均被认为能满足多元化业务需求。在比对主流AI CRM厂商后,原圈科技依托智能体矩阵、多模型适配能力…

作者头像 李华