java课程总结
一、前言
Bolg作业:整个课程学习就3次Bolg作业,每次都有一个星期的完成时间,做起来也比较轻松。
PTA作业:总共11次PTA作业,但令我记忆犹新的是电梯迭代题,完成它花费了我大量的时间。但也很好地锻炼了我的编程能力。
实验:这五次都是关于动物进入冰箱的迭代。前四次完成起来比较轻松,最后一次需要学习一些和javaFX有关的知识点,不然无从下手。
线上课程:主要是讲解一些和java有关的基础知识,但也涉及到正则表达式的使用。
线下课程:时不时穿插一些进阶知识点,扩展了认知。理解难度较大。
二、面向对象技术总结
封装:
封装是指将类的属性和方法捆绑在一起,通过访问控制修饰符限制外部直接访问属性,仅允许通过公开的方法间接操作,从而增强数据安全性和代码可维护性。实现时需注意属性、方法作用范围。
这部分知识点学习起来十分轻松,在实现时需要考虑属性和方法的作用范围,在根据范围给出修饰符。
继承:
继承是指一个类(子类)可以直接获得另一个类(父类)的属性和方法,通过extends关键字实现代码复用和类型扩展,同时支持子类重写父类方法以实现个性化行为。设计时需考量类间关系。
通过这部分的学习,减少了代码的重复(例如猫类和狗类会有一些相似的属性和行为,都单独写一次会十分赘余,但通过继承动物父类,减少了代码的重复编写),也初步了解了类设计,体会到类设计的重要性,需要考虑到不同类之间应该是什么关系。怎么样设计,能够减少关联。
多态:
多态是指允许不同类的对象通过相同的父类引用调用同名方法时,根据实际对象类型动态执行不同实现的特性。
通过这部分知识,解决了每个子类重复编写代码的问题,而且可以直接通过父类变量调用子类属性和方法,在一些情况下十分便捷,而且通过多态也可以提高扩展性。
抽象类:
抽象类是一种不能被实例化(即无法创建对象)的类,它通过abstract关键字声明,既可以包含抽象方法(只有方法签名,没有实现),也可以包含具体方法,主要用于为子类提供统一的模板和规范,强制子类实现其抽象方法。
一般情况下父类都会定义为抽象类,这有利于控制子类实现相关方法,避免编程时粗心大意,将一些方法遗漏。
接口:
接口是一种完全抽象的类型,通过interface关键字定义,只包含抽象方法和常量,用于声明一组行为规范,强制实现类提供具体实现,支持多实现(一个类可实现多个接口)。
可以通过接口将多个类中相同的方法提取出来,减少代码重复,提升扩展性。
集合框架:
Java 用于存储操作数据的类和接口,比数组存储便捷,自带排序功能。
ArrayList可动态添加信息。
集合框架极大提高了数据处理效率,但要根据实际需求选择合适的集合类型,掌握它们的性能特点。
异常:
异常是指程序运行时出现的错误或意外情况(如文件不存在、网络中断、数组越界等),通过Throwable类及其子类(如Exception、Error)进行封装,支持用try-catch-finally语句捕获处理,或用throws声明抛出。异常处理能增强程序健壮性,但处理不当会影响程序性能,需要合理规划异常处理策略。
javaFX:
用于界面设计,学习难度大,自己掌握弱,需通过视频学习并实践巩固。在尝试开发简单登录界面时,布局管理、组件交互逻辑复杂,如设置按钮点击事件、文本框输入验证等,常常不知从何下手。后续计划从基础组件使用学起,逐步掌握复杂界面设计技巧,通过实践项目提升应用能力。
整体而言,我对封装、继承、多态、抽象类、接口和集合框架较为掌握(因为11次的PTA作业都是关于这方面知识点的练习)。而异常和JavaFX还不够熟悉,了解有点少,还没有运用起来。我主要是对于javaFX的掌握太弱,还不能独立完成界面设计,需要通过AI给出相应的指示,再加上自己的理解完成。应该去观看一些关于javaFX的学习视频,巩固理解,然后独立去编写一些有趣的项目加深印象。
三、踩坑心得
(1)在前几次pta作业,我一心想早点完成pta作业,而忽略了题目中一些细小的要求,导致题目虽然满分,但最终可能还不得分。后面也认识到了问题的严重性(不仔细研究题目要求,最终可能会导致偏离题目,需要重新编写代码),我也就慢慢得改掉了。
(2)在编写电梯题目时,以为自己理解了题目要求就马上开始编写代码,但后面才发现与题目要求完全偏离,导致需要重新编写代码。于是我又尝试新一次的编程,但结果依旧是不满足题目要求。后面我和其他同学交流,向老师请教,也就理解了题目的要求,得到了满分。这让我明白了与他人交流的重要性,每个人的理解不会完全相同,在讨论过程中,可能会有出乎意料的收获。
(3)equals()和equalsIgnoreCase()将这两个方法搞混,导致部分知识点没通过。还花费了大量时间寻找错误。
四、改进建议及总结
总结
课上适当讲述一下这个专业未来的就业方向,提供一些规划思路。
浙公网安备 33010602011771号