当前位置: 首页 > news >正文

Java学习通互评5

1.StudenDaoListImpl.java与StudentDaoArrayImpl.java有何不同?

前者用ArrayList,后者用普通数组;前者无需指定初始容量,后者需在创建对象时传入数组大小;前者支持动态扩容,后者容量固定,数组满后无法继续添加;前者直接调用add方法即可添加,后者需遍历数组找到null才能添加

2.StudentDao.java文件是干什么用的?为什么里面什么实现代码都没有?

作用:作为DAO 接口,定义学生数据操作的标准协议,统一所有实现类的方法名称、参数及返回值,让上层代码无需关注底层存储细节,只需面向接口编程
无实现代码的原因:接口的本质是方法规范,仅定义要做什么,不定义怎么做

3.使用搜索引擎搜索“Java DAO”,选出几句你能看懂的、对你最有启发的话。请结合接口知识去理解。

(1)“DAO 模式将数据访问逻辑与业务逻辑分离,通过接口隔离底层数据存储的变化”
理解:接口(如 StudentDao)是 “中间层”,业务逻辑(Test 类)只调用接口方法,若底层存储从数组换成列表(或数据库、文件),只需更换实现类,无需修改业务代码,符合 “开闭原则”(对扩展开放,对修改关闭)
(2):“DAO 接口定义数据操作的统一方法,实现类负责与具体存储介质交互,上层代码面向接口而非具体实现”

4.尝试运行Test.java。根据注释修改相应代码。结合参考代码回答使用DAO模式有什么好处?

理解:接口强制所有实现类遵循相同方法规范,避免因实现类方法不一致导致上层代码混乱;同时上层代码(如Test类)中StudentDao sdm的定义,体现 “多态” 特性,同一接口引用可指向不同实现类对象
灵活性:切换底层存储方式(数组→列表)时,只需修改StudentDao的初始化代码(如new StudentDaoArrayImpl(50)→new StudenDaoListImpl()),其余代码不变
规范性:接口强制实现类统一方法,避免不同存储方式的实现类方法混乱(如添加学生统一叫addStudent,而非有的叫add、有的叫insert)

可维护性:若需修改数据访问逻辑(如查询学生时忽略大小写),只需修改对应实现类的getStuByName方法,无需改动所有关联代码

http://www.zskr.cn/news/23783.html

相关文章:

  • 随机数技术
  • P6715 [CCO 2018] Fun Palace 题解
  • WebGL学习及项目实战(第03期:绘制多个点,线,面)
  • 专用硬件神经网络优化技术解析
  • Linux-网络安全私房菜(二)
  • pycharm使用远程的ssh的解释器
  • AI元人文:社区调解的数字剧场
  • 2025年粉末冶金制品/零件厂家推荐排行榜,专业制造与高品质服务的首选!
  • 15 接口的介绍
  • [PaperReading] SAIL-Embedding Technical Report: Omni-modal Embedding Foundation Model
  • Flash 8.0下载安装
  • 英伟达个人AI超算Spark技术解析
  • 人生四大支柱 - 健康,金钱,工作,关系
  • 【Docker项目实战】使用Docker部署IT运维管理平台CAT - 指南
  • 2025 年感温电缆厂家最新推荐榜单:覆盖线型 / 缆式 / 可恢复 / 消防等多类型产品,全方位解析头部企业核心优势
  • win
  • 互评-OO之接口-DAO模式代码阅读及应用
  • 印刷电子技术挑战传统PCB主导地位
  • 2025-10-18
  • 某兔网站加密学习
  • 2025 年钢闸门厂家最新推荐排行榜:涵盖不锈钢 / 渠道 / 河道 / 水库 / 平面 / 手动 / 电动 / 液压钢闸门,聚焦十大实力厂家核心优势
  • 2025 年耐火砖厂家最新推荐排行榜:绝热/轻质/莫来石等类型优质厂家权威榜单发布氧化铝泡沫/氧化铝空心球/抗渗碳/高温轻质莫来石耐火砖厂家推荐
  • 【转】[C#] Web API 中的常见层次
  • 080_尚硅谷_双分支流程图和细节
  • 4.vtk学习——点云可视化
  • MODBUS TCP 转DeviceNet:欧姆龙 CJ2M PLC 与生产管理系统在食品饮料包装线喷码机信息准确喷印的通讯配置案例
  • 新版 perf 文件解读与性能分析
  • 2025年西安买房推荐与西安学区新房推荐排名前十榜单
  • Java技术公司如何借力AIGS,开启人工智能融合新篇章? - 那年-冬季
  • jiangly 模板