20155322 2016-2017-2 《Java程序设计》第4周学习总结
教材学习内容总结
本周的学习内容为课本第六章与第七章:
- 第六章主要讲继承和多态。首先是我们为什么要学习继承和多态,书本上讲解的很清楚:就是要避免复杂的定义行为,使程序更加简洁可维护。继承方面主要注意extends语句,了解继承就是对于父类的一种扩充、protected成员、构造函数、final关键字等。多态就是使用单一接口操作多种类型的对象,主要要了解什么是“is-a”的关系,即A是一种B。
- 第七章主要讲接口和多态。这里书本向我们强调了接口和继承的不同之处:继承是唯一的,而解控是可以被所有东西所拥有的,向我们介绍了interface关键字,以及一些接口相关的语法细节。这一章的多态侧重行为上的多态。
教材学习中的问题和解决过程
- 问题:在学习重新定义行为的时候,不是很理解为什么要在子类中定义,而不是在父类中直接定义,这样不会方便很多?
- 解决:看了看书上6.6和6.7的图,用了一下联想法,感觉可以把它理解为在父类中定义一个“种子”,在不同的子类中“种子”长出的果实不一样,所以需要在子类中定义不同的“果实”。
- 问题:这个问题还是理解上的,就是如何理解接口的拥有行为?
- 解决:我还是比较喜欢找一个生活中的实例去理解这些抽象概念,在网上找到一篇猴子与狗的比喻感到很有趣。这个其实就是解决了继承从下至上只能单向的问题,但是我还有一个问题,既然接口用途广泛,为什么不淘汰接口这种用法呢?
代码调试中的问题和解决过程
-
问题:有关于ln和f的格式问题
-
解决方案:上网搜索,改动了ln中的+i,因为ln不能使用格式控制符号。
-
问题:找不到类
-
解决方案:在根目录中改变classpath
代码托管
上周考试错题总结
- 错题:1. 填空:Linux Bash中,(grep )命令可以进行全文搜索。
原因:没有记牢。 - 错题:2. 填空:~0b1010的十进制值是(-11)
原因:我理解为按位取反了。 - 错题:9. CH04 判断:p86 Guess.java中guess的值无法输入12。(X)
原因:是可以输入的,只是程序只能生成09,我把它理解为只能输入09了。 - 错题:10. CH04 填空: p88 DecimalDemo2.java中 operand-openrand2的值是0.2。(X)
原因:我开始没有多想就直接写对了,但是后面看书发现因为Java的浮点运算机制不同所以输出的不是0.2.
其他
随着学习的越来越深入,我感觉一些知识在理解上有一定难度,学习中就会遇到一种困扰:与之前学习的知识接不上。或者说要一定的时间去消化理解,这让我很困扰。也许是因为巧合,找到了一本书《 learn more , study less》,这本书所提到的联想法对于这种成体系的抽象知识具有很好的理解效果,我练习了半个小时,感觉确实理解上有帮助,并且能够快速的将过去的知识给它串联在一起。
学习进度条
代码行数(新增/累积) | 博客量(新增/累积) | 学习时间(新增/累积) | 重要成长 | |
---|---|---|---|---|
目标 | 5000行 | 15篇 | 400小时 | |
第一周 | 4/4 | 1/1 | 10/10 | |
第二周 | 20/24 | 1/2 | 9/19 | |
第三周 | 80/104 | 1/3 | 10/29 | |
第四周 | 343/ 447 | 1/4 | 15/44 |
-
计划学习时间:20小时
-
实际学习时间:15小时
-
改进情况:学习时间增加,代码量增加四倍。