第三次blog作业
一、前言
本学期的Java课程融合了PTA编程训练、实验项目、线上视频学习、线下课堂精讲及综合性Blog作业,形成多维度学习闭环:
PTA作业共11次,覆盖基础语法到高级特性,题量适中但部分题目需反复调试;
5次实验(类设计、集合框架应用、JavaFX开发)强调动手能力,耗时较长;
JavaFX大作业需独立设计GUI应用,综合考验代码架构与界面逻辑;
线上课程提供碎片化学习支持,线下课程侧重难点解析与互动答疑。
难度曲线陡峭但合理,从语法过渡到面向对象设计,再到GUI开发,知识分层递进,适合系统性进阶。
二、面向对象技术总结
1.封装 (Encapsulation)
核心思想: 将数据(属性/字段)和操作数据的方法(行为/函数)捆绑在一起形成一个单元(类),并隐藏对象的内部实现细节,仅对外暴露必要的访问接口。
2.继承 (Inheritance)
核心思想: 允许一个类(子类/派生类)基于另一个类(父类/基类/超类)来构建。子类继承父类的属性和方法(非private),并可以添加自己特有的属性和方法,或覆盖父类的方法以提供特定实现。
3.多态 (Polymorphism)
核心思想: “多种形态”。指同一个行为(方法调用) 在不同的对象上具有不同的实现方式。更具体地说,允许父类引用指向子类对象,并通过该引用调用方法时,实际执行的是子类覆盖后的方法。
4.抽象类 (Abstract Class)
核心思想: 定义一组纯粹的行为契约(方法签名集合)。它只描述“能做什么”,完全不关心“怎么做”。类通过implements关键字实现接口,承诺提供接口中所有方法的具体实现。思想: 一个不能被实例化的类。它用于定义子类的通用结构和行为模板,其中可能包含抽象方法(只有声明没有实现)和具体方法(有实现)。
5.接口 (Interface)
核心思想: 定义一组纯粹的行为契约(方法签名集合)。它只描述“能做什么”,完全不关心“怎么做”。类通过implements关键字实现接口,承诺提供接口中所有方法的具体实现。
集合框架 (Collections Framework)
核心思想: Java提供的一套成熟、高性能、可复用的数据结构和算法的标准库。用于存储、检索、操作一组对象(元素)。
工具类:
Collections: 提供操作集合的静态工具方法,如排序(sort)、查找(binarySearch)、反转(reverse)、打乱(shuffle)、线程安全包装(synchronizedXXX, unmodifiableXXX)等。
Arrays: 提供操作数组的静态工具方法,如排序(sort)、二分查找(binarySearch)、填充(fill)、转换为列表(asList)等。
6.异常处理 (Exception Handling)
核心思想: Java提供一套健壮的机制来处理程序运行时发生的错误或异常情况,使程序能够优雅地失败或恢复,而不是直接崩溃。
7.javaFX
核心思想: JavaFX是Oracle推出的用于构建富互联网应用程序 (Rich Internet Applications - RIA) 和桌面应用程序的下一代图形用户界面 (GUI) 库和平台,旨在取代老旧的Swing和AWT。它不仅仅是GUI库,还包含媒体、图形、动画、Web引擎等丰富功能。
三、采坑心得
- 集合迭代的陷阱
实验中使用for-each遍历ArrayList时直接删除元素,触发ConcurrentModificationException。解决方案:改用Iterator.remove()或CopyOnWriteArrayList。 - JavaFX线程阻塞
在按钮事件中直接执行耗时数据库查询,导致界面卡死。解决方案:改用Task与Service实现异步任务,更新UI需通过Platform.runLater()。 - 空指针的预防
多次因未校验null引发NullPointerException。经验:养成“防御性编程”习惯,对返回对象的方法(如map.get(key))始终做空值判断。
四、改进建议及总结
改进建议
实验文档细化
提供更多常见错误示例(如集合并发修改),减少调试时间。
增加可选扩展任务(如用Lambda优化代码),照顾进阶学习者。
PTA题目反馈优化
部分题目报错信息过于笼统(如“答案错误”),建议提示可能出错点(如边界值未处理)。
JavaFX教学强化
总结
本课程以“代码驱动理解” 为核心,成功将面向对象理论转化为工程能力。尽管过程中充满调试的艰辛,但最终能独立开发GUI应用的成就感远超预期。建议后续课程保留高强度实践特色,同时优化细节支持,让学习者更高效跨越“概念→实现”的鸿沟。

浙公网安备 33010602011771号