NCHU OOP BLOG3--java课程总结

NCHU OOP BLOG3--java课程总结

目录

1.前言
2.面向对象技术总结
3.踩坑心得
4.改进建议及总结

正文

1.前言

  不知不觉学习java已经一个学期了,都到了写总结blog的时候了,这一个学期可谓是跌宕起伏,多姿多彩。对java也是又爱又恨,既爱他带我走进了面向对象的语言的学习,又恨他占据我的心神,融入我的骨血;(好吧,正经一点,没这么夸张!!!)
  总体来说,这门课的任务量其实并不大,主要是看你怎么分配时间;每周的任务大概就是完成PTA或者是写blog,外加三周一次的实验(加上实验报告);
  PTA除了第一次电梯调度的大作业,难度较大,所需时间较长,其余的每周,花费的时间并不多,难度也降低了很多(据说和上届相比);BLOG就是写之前两次或者三次作业的总结,花费的时间就更少了,但是还是比较繁琐的;
  此外就是,线上课的内容,在正式写大作业之前,抓紧看完,要求也不高;就是如果堆在一天看完,肯定是人生无望,但是,每天看一点,到了后期就只需要在部分内容不记得了,再回头看看就是了;
  唯一想要吐槽的就是实验了,一开始的实验系统,老版本那是真的很人机,想要复制之前的程序到新的实验,总是卡,出不来,只能苦逼的又敲一遍;主要是不让复制粘贴,虽然可以理解,但还是很命苦,每次写实验总有种上辈子犯了什么错,这辈子来写实验的感觉;实验指导书也是,感觉部分有歧义啊;
  最后,难度适中,工作量适中,花费时间较多,及格较简单;课程就是这样,但是java这门语言要学精的话,单凭课程上学的这些还远远不够;

2.面向对象技术总结

  在java的学习过程中,学习了很多东西,包括封装、继承、多态、抽象类、接口、集合框架、异常以及JavaFX的各项内容;
  比如在完成PTA大作业的过程,一点点的学习训练了,封装、继承多态、抽象类、继承、正则表达式,简单集合框架(如ArrayList和LinkedList)的使用;比如在航空货运系统中,对这几个方面都进行了充分的锻炼,包括了继承和合成复用,还有必须的封装和多态;
  在实验中的收获也很多,重点在接口和文件的使用,尤其是实验4中,重点锻炼了Comparable和Comparator两个接口,还有用Collections对数组进行排序,收获很大;
  例外,还想简单说一下线上课,个人觉得线上课程还是有用的,可以在上课前做一些简单的预习,不至于直接脑袋空空的去上课,虽然说网上也有一些资源,但总归是参差不齐;
  其中,对封装、继承、多态、抽象类、接口的内容掌握的更好,平时训练的内容也是更偏向这一方面的内容,练习的更多,掌握的也就更好;
  封装,其实就是对一些不需要别人知道或操作的内容进行隐藏,从而达到保护数据的作用,如果需要操作就只能使用对方提供的一些接口,利用接口进行操作,如get、set函数;
  继承,java的又一技术特性,首先,我觉得就是可以清楚的表示类与类之间的关系,包括大类到小类的关系,其次就是能更好的复用一些代码,对需要改变的地方只需要进行覆写就行,最后就是方便与多态的“配合”,向上转型;
  多态,java的核心技术特性之一,就是不同子类的对象,对同一个消息(如调用某个函数)的不同的响应;多态,更方便了对子类对象的统一管理;
  抽象类,对父类进行抽象,抽象类不能实例化对象,但是可以引用;通常包含抽象方法,该方法不能在父类里面体写出,因而作成抽象,并且强制要求子类实现这一抽象方法;
  接口,进一步抽象,java面向接口编程;可以实现多继承,解决了java只能单继承的问题,可以实现多个接口;
  以上几个方面,我还是比较熟悉的,集合框架、异常以及JavaFX掌握的就不是很好;都是处于能看懂,但是还没有掌握的程度;
  集合框架,用的较多的就是ArrayList和LinkedList,对于这两个还是比较熟悉的,感触很深的就是,有了集合框架,就在也不用和C语言一样苦哈哈的用数组(传统意义上的),不能用变量定义数组大小等等,方便了很多;但是集合框架中的其他部分,就用的不是很熟练,只能说有一些了解,其中一些函数还需要查找资料才能更快的使用;
  异常,其实就是程序怎么解决运行时出现的异常的情况,比如文件读取失败等;“如何优雅的终止或继续执行程序”,这句话记得尤其深刻,但对异常的掌握着实不多,主要是不怎么使用,现在只有一个大致的印象,可以看懂,但还远没有到能快速使用的程度;
  javaFX,谈及那更是两眼一抹黑,尽管每节反转课堂都没有错过,又都认真的听了,但是还是在实操过程中困难不断,单独使用某个UI组件还可以,但是UI组件一多,所需要的操作一多,功能一遍复杂,就束手无策了;尽管比起EGE图形库,JavaFX无疑是强大的,但是还是无法避免的出现,函数过多,不能快速综合,然后明白当下要使用哪种方法,那个函数或类;
  总结一下,对于java中一些练习较多的重点,掌握情况比较好,但是一些“非必需”的东西,掌握还不够,还需要再以后的训练中有意识的加强这方面的使用,比如对可能出现的异常情况的处理,优雅的终止程序;

3.踩坑心得

  谈到这个,那真是三天三夜都说不完了,短短三个月,我的身心早在一次次锻炼中强大无比,人生果然是用来磨练的;
  首先,也是最重要的一点就是,就是一定要先分析需求,并且一定要将需求分析彻底;如果你不分析需求,就开始写,那一定会s的很惨;这个需求,既包括题目的需求,也包括题目本身的要求,如输入输出的要求,有几次就是输出的要求没看清楚,空格啥的,一旦没注意到,那就是不管怎么改都是“答案错误”,真的很搞人心态;分析题目的需求时,要充分理解题目的意思,不能凭借自己现实的理解去写;在现实中,我们通常是使用者,而不是创造者,对事物的了解的角度不同;比如在第一次大作业中,也就是电梯调度问题中,那现实中的电梯去理解这个问题,然后就死翘翘了,将所有代码推翻了三次,最后才勉强写出来,但是还是达不到,能应对所有的情况的程度;那一周真的是魔鬼的一周,现在想想还是心有余悸;所以分析需求还是很重要的,需求分析好了,能事倍功半,相反,自然就事半功倍了;
  其次就是,还是要在写代码之前,尽量写把类设计好,之前很长一段时间,我都是在类设计之前,直接开始写,后面再一点点修改,但是,遇上简单的问题还好,一旦遇到比较复杂的问题,一个类就要反反复复改,最后才能符合要求;之后,认识到这个问题,就先在纸上先把类图简单画一下,最少要把类关系给写出来,能更快的理清楚思绪;
  例外就是,简单说一下,我本人的一些小问题,每次复制粘贴后,不自习检查,经常只修改一半,导致有错误没发现,最后一提交,部分正确,而后又拿测试案例去一个个调试哪里有问题,虽然问题看似很小,但一发生,就想扇自己几巴掌;

4.改进建议及总结

  这三个月的java的学习,收获还是很大的,不仅仅是知识的学习,还有如何分配时间,如何调整心态等等;下面来综合性总结一下:
  java这门课作为面向对象语言的经典,封装、继承、多态、抽象四大技术特性,支撑起了这门课,而java独有的继承,更是丰富了这门语言;
  其实,java的入门并不难,关键难在如何进阶版的去学习这门语言,如何掌握那23个设计模式,而这些精髓在课程中很少涉及,所以java的学习还任重而道远,需要我们继续的学习,可不能在java课程结束后就以为万事大吉了,还需要进一步的学习;
  至于对这门课的建议,确实还是有点想说的,我觉得这种多方面的练习的作用还是很大的,效果挺好的,老师们也是经验丰富,但是实验系统能不能再改进一下啊,能不能和IDE联动一下,可以不用复制粘贴,但一些关键字的标红啥的,能不能加上,一片黑乎乎的,打错了单词是真的发现不了;还有实验指导书的要求能不能再具体一点,有些还是有歧义的;
  就这样,到这里了,也就要结束了,希望我们未来岁岁有今朝,后会有期!!!

posted @ 2025-06-19 12:01  等时圆~  阅读(29)  评论(1)    收藏  举报