第三次blog作业

前言
本学期的Java面向对象程序设计课程内容丰富、实践性强,通过线上线下相结合的教学方式,全面涵盖了面向对象编程的核心概念和技术。课程工作量适中但富有挑战性,主要包括:

Blog作业:共5篇,从基础语法到高级特性循序渐进,每篇都要求对学习内容进行系统性总结

PTA作业:共计10次,难度逐渐提升,从基础编程题到综合性项目,很好地检验了学习效果

实验环节:6次实验,涵盖GUI开发、集合框架应用等实践性内容

线上课程:提供了完整的教学视频和参考资料,方便自主学习

线下课程:老师讲解重点难点,并进行代码演示

整体而言,课程设计合理,理论与实践相结合,难度呈阶梯式上升,特别是后期的JavaFX和集合框架部分需要投入较多时间理解和实践。

面向对象技术总结
封装
通过PTA作业和实验,我深刻理解了封装作为面向对象基础的重要性。封装不仅仅是使用private修饰属性,更重要的是通过合理的访问控制来保护对象内部状态,提供清晰的对外接口。在"图形类设计"作业中,我学会了如何设计良好的getter/setter方法,并在必要时添加有效性验证。

继承
继承机制在"员工类设计"和"动物类体系"作业中得到充分实践。我掌握了:

使用extends实现类继承

方法重写(override)的规则

super关键字的使用场景

继承的"is-a"关系判断

不足:对继承层次过深导致的"脆弱基类"问题理解还不够深入。

多态
多态是课程中最具挑战性也最有趣的部分。通过"图形面积计算"和"员工薪资系统"作业,我理解了:

编译时类型与运行时类型的区别

方法调用的动态绑定机制

向上转型和向下转型的应用场景

多态在框架设计中的威力

抽象类与接口
"数据库连接设计"和"支付系统"作业帮助我区分了抽象类和接口:

抽象类用于is-a关系,可包含具体实现

接口定义契约,Java8后也可有默认方法

面向接口编程的灵活性

接口在策略模式中的应用

不足:对函数式接口和lambda表达式的结合使用还不够熟练。

集合框架
集合框架是实际开发中最常用的部分,通过"学生管理系统"和"单词统计"作业,我掌握了:

List、Set、Map三大接口及其常用实现类

迭代器的使用

Comparable和Comparator的区别

泛型在集合中的应用

Java8的Stream API基本操作

不足:对并发集合类的线程安全机制理解不够深入。

异常处理
异常处理看似简单但实际复杂,通过多次调试我学会了:

检查型异常和非检查型异常的区别

try-catch-finally的正确使用

自定义异常的实现

异常链的传递

不足:在资源管理方面,对try-with-resources的使用还不够习惯。

JavaFX
JavaFX是课程中最具实践性的部分,通过"计算器"和"简易绘图板"实验,我掌握了:

场景图(Scene Graph)概念

布局管理器的使用

事件处理机制

控制器与FXML的绑定

简单动画实现

不足:对CSS样式化和复杂自定义控件还有待提高。

采坑心得
过度设计问题:在初期作业中,我常常过早考虑扩展性,导致设计过于复杂。后来明白"YAGNI"(You Aren't Gonna Need It)原则的重要性,学会了适度设计。

空指针异常:这是最常见的运行时错误,通过大量调试才养成了良好的null检查习惯,并学会使用Optional类来避免。

equals和hashCode:在重写这两个方法时多次出错,最终理解了它们的契约关系及正确实现方式。

并发修改异常:在使用迭代器时经常遇到ConcurrentModificationException,通过实践才明白不能在遍历集合时直接修改集合内容。

JavaFX线程规则:刚开始经常违反"JavaFX应用线程规则",导致界面卡死。后来掌握了Platform.runLater()的正确用法。

改进建议及总结
课程总结
本门Java面向对象程序设计课程体系完整,内容前沿,理论与实践并重。通过一学期的学习,我不仅掌握了Java语言的核心特性,更重要的是培养了面向对象的思维方式,这对未来的软件开发工作至关重要。

改进建议
PTA作业反馈:建议增加更详细的代码评审意见,特别是设计层面的建议,而不仅是测试用例的通过与否。

实验环节:可以增加一些小型团队项目,培养协作开发能力,同时引入版本控制工具如Git的基本使用。

JavaFX部分:鉴于实际企业中使用JavaFX较少,可以考虑适当减少课时,增加Spring Boot等更主流框架的介绍。

线上资源:建议提供更多实际项目案例视频,展示从需求分析到实现的完整过程。

总的来说,这门课程让我受益匪浅,为后续的软件开发学习打下了坚实基础。感谢老师的悉心指导!

posted @ 2025-06-22 20:12  yukinoacb  阅读(21)  评论(0)    收藏  举报