0. 前言
Java课程的学习,已经进行了三个多月;在此期间授课大多都是线上进行,虽然没有了教室学习的那种氛围,但是线上授课也给了我们更加直观的学习体验。总之,经过了这段时间的学习,我从对面向对象程序设计的一无所知,到现在有了自己的一些理解以及运用这些知识。虽然课程学习进入了尾声,但Java学习却永无止境,我也会继续学习,不断提高自己。
对此,我有了以下几点总结:
1. Java理论知识理解
(1)面向对象与面向过程
在学习Java之前,接触到的编程思维都是面向过程的,学习了Java后,多了一种全新的思维,即面向对象。这两种思维的转变,让我对编程有了更加全面的理解。以下是我对两者的认识:
面向过程设计,我的理解就是直接分析问题如何解决,给出每个步骤,照着分析结果写出各个函数,再调用它们得到各功能的实现。
面向对象设计,以对象为主,即把问题的某些内容抽象为某个对象,然后创建出具有属性和方法的类,依据类中的属性和方法之间的各类关系来实现各种功能,在不同情况下实现各种调用。这种将抽象出对象对应实际问题的某些内容的思维,对于以后的软件开发的可维护性、可扩展性以及可复用性等都是有极大的好处的。
(2)面向对象三大技术特性
在面向对象程序设计中,有着三大特性:封装性、继承性、多态性。继承让各个类有了通用、灵活、独立的效果;而封装则让各个类之间有了直接的联系。这两大特性也就为多态性打下了基础:不同的对象,接收到不同的需求会有不同的行为,也就是一个类具有多种形态。这也就让我们能够写出通用的代码,然后再适应需求不断地做出改变,实现各种功能。
(3)各种处理方法
在这段时间,针对字符串、数组、各种类型的数据……我们学习了它们的不同处理方法,这些方法在系统库中都有,但是也能根据自己的需求来写出各种方法,这也就要求我们要去理解、运用这些方法。此外,我们还学习了正则表达式的相关知识,用它来处理各类数据,根据要求规范数据的各种格式,作业中也常用到这个。
2. Java作业总结
由于课堂学习是循序渐进的,各知识点的学习是模块化的而且前后会有所联系。在这几个月的学习中,我也陆续完成了许多课堂作业以及PTA作业。
在初始阶段,PTA上发布的作业也是为了让我们从面向过程过渡到面向对象,同时内容重在数据类型、对Java基本语句的运用,这几次作业对于刚入门的我们来说,在有了一些编程基础的情况下,只要理解了题目的需求以及逻辑问题,也就能够很好的完成这几次作业,不过过程也还是有一些问题的,最后也解决了。
正式学习Java各个模块阶段,开始有了对象、类、方法的概念;在新发布的几次作业中,要求我们根据所给UML类图实现各个功能类,也是这时我才开始步入真正的Java程序设计。知道了对象是类的实例,需要new一个该类的对象才能实现所设计出的各个功能(方法)。同时,这几次作业开始让我们利用类与类之间的各种关系(依赖、关联、聚合、组合)来解决方法,这些题目都是逐步增加难度,就如work3中的日期相关实现,题1、2、3之间功能相似但却是依据不同的UML类图来实现的,所以这也花了我较多时间来理解。work4中的水文数据校验题中,数据输入处理以及正则表达式难度较大,花了许多时间去理解。
在这之后的作业,开始要求运用类的继承、多态、抽象等来实现更加多样化的程序设计。图像继承与多态练习、一元多项式求导、雨刷程序功能拓展……这些题目中,体现了类的各项特性,设计出了功能更加多样的程序,当然题目中也对数据处理以及正则表达式的要求更加多了,要花的功夫也就多了。
在作业这一方面,我并没有完美地完成了每一次作业,但是我都有在认真地去做,有些作业是看起来难,但只要认真分析了题目,总能够完成部分的。所以,当我们遇到困难时,我们都应该勇于尝试着去解决它,不能无动于衷地做一条咸鱼,要相信自己是有能力的!
3. 学习中遇到的困难
学习过程中,遇到的困难不断增加,也不断的被解决。从刚开始接触Java,到现在能够设计出一个完整的程序,也是经历了许多困难。其中,字符串处理、正则表达式的匹配对我来说是两大难点。很多题目需要对输入的字符串进行处理,而字符串处理中经常会使用到正则表达式,这也就更加困难了。对于一个程序来说,选择正确的数据类型以及实现题目要求的正确的数据格式是十分重要的,所以字符串处理关系到整体代码的实现。所以,在做作业涉及到字符串处理时,我都会花更多的时间来解决它,现在已经渐渐地掌握了。
4. 学习收获
通过本课程的学习,从刚开始对Java的一无所知,到现在我已经对Java的基本语法以及框架有了一定的认识,能够较为熟练地运用Java来进行编程设计。Java有一大优势:其经过多年的发展,类库相当丰富,前辈们为我们写好了各种方法和开发中需要的各种类,我们只需要懂得调用就可以轻松实现很多功能,大大减少了开发时间,也可按照自己的需求实现各种新的方法以及类。
在这段时间的学习中,我感觉Java是一门阶梯性的语言,想要学好它,就必须把每一个模块的知识都巩固好,尤其是基本知识得牢牢掌握。此外,每个人的编程思想都会有所不同,多与别人交流也会对自己的学习有莫大的收益。总而言之,虽然课程学习已经告一段落了,但学习的脚步永不会停止。
原文:https://www.cnblogs.com/yuan0512/p/13055240.html