教材学习内容总结
第九章
1、后绑定:多态引用可以指向不同类型在不同的时候的对象、在运行时才将方法调用与它的定义绑在一起;
2、通过继承实现多态:引用变量可以指向声明继承于它的任意类的对象;
3、接口:接口层次,Comparable接口,Iterator接口;
4、通过接口实现多态:事件处理
第十章
1.对异常的处理。
2.try-catch语句。
3.finally语句。
4.有关异常的类及其层次。
5.必检异常和免检异常的区别和联系。
6.I/O异常。
教材学习中的问题和解决过程
- 问题1:对于comparable接口的意义和用法不太理解。
- 问题1解决方案:通过上网查阅博客,通过对什么是comparable接口?能实现什么方法?
以及实例,对comparable接口有了一定的了解。 - 问题2:不捕获异常中,提到了调用栈跟踪这一概念。不清楚什么是栈跟踪。
- 问题2解决方案:课本上说,第一行首先抛出异常并给出原因,其余的行是调用栈跟踪,就是指出异常发生的位置。栈跟踪指出了异常发生的位置,而调用则把这一异常的位置显示了出来。我看了一篇有关Java异常的博文,其中提到了栈跟踪元素,这有助于理解这一概念。
代码调试中的问题和解决过程
- 问题1:问题1、与书上代码一致却因count无法通过编译
- 问题1解决方案:将count删除即可。
- 问题2:程序10.1,按照教程输入代码,输出的结果与书上有区别。只是有第一行的打印出来的结果,却没有显示出接下来的代码存在的异常而直接结束。
- 问题2解决方案:尝试更改代码。
代码托管
上周考试错题总结
- 错题1:Both the Insertion Sort and the Selection Sort algorithms have efficiencies on the order of ________ where n is the number of values in the array being sorted.
A .n
B .n * log n
C .n^2
D .n^3
E .Insertion sort has an efficiency of n and Selection Sort has an efficiency of n^2
解析:两种排序算法都使用两个嵌套循环,每个循环都执行大约n次,这给两者都带来了N*N或N ^ 2的复杂性。
错题2:Polymorphism is achieved by
A .overloading
B .overriding
C .embedding
D .abstraction
E .encapsulation
解析:重载只是为具有不同参数列表的方法提供了替代方法。重写提供多态性,因为根据当前被引用的对象调用适当的方法。嵌入是类内类的封闭。抽象与多态性无关。使用可见性修饰符(public、private、protected)实现封装。
- 错题3:We compare sorting algorithms by examining
A .the number of instructions executed by the sorting algorithm
B .the number of instructions in the algorithm itself (its length)
C .the types of loops used in the sorting algorithm
D .the amount of memory space required by the algorithm
E .whether the resulting array is completely sorted or
only partially sorted
不同的排序算法在执行时需要不同数量的指令。例如,选择排序通常需要比插入排序更多的指令。因此,我们将排序算法按执行排序数组所需的指令数进行比较。我们可以计算排序算法在最坏情况下执行的指令的最大数量,或者最佳情况下的最小数量,或者平均执行指令的数量。如果两个排序算法需要大致相同数量的指令来对数组进行排序,那么我们还可以检查所需的内存空间量。
错题4:Can a program exhibit polymorphism if it only implements early binding?
A .Yes, because one form of polymorphism is overloading
B .No, because without late binding polymorphism cannot be supported
C .Yes, because so long as the programs uses inheritance and/or interfaces it supports polymorphism
D .Yes, because early binding has nothing to do with polymorphism
E .none of the above
解析:虽然继承和接口支持多态性,但它们只在具有后期绑定的情况下才支持多态性。但是,重载是多态的一种形式,一个(方法)名,多个体只要程序使用重载,多态就在使用中。
结对及互评
评分标准
-
正确使用Markdown语法(加1分):
- 不使用Markdown不加分
- 有语法错误的不加分(链接打不开,表格不对,列表不正确...)
- 排版混乱的不加分
-
模板中的要素齐全(加1分)
- 缺少“教材学习中的问题和解决过程”的不加分
- 缺少“代码调试中的问题和解决过程”的不加分
- 代码托管不能打开的不加分
- 缺少“结对及互评”的不能打开的不加分
- 缺少“上周考试错题总结”的不能加分
- 缺少“进度条”的不能加分
- 缺少“参考资料”的不能加分
-
教材学习中的问题和解决过程, 一个问题加1分
-
代码调试中的问题和解决过程, 一个问题加1分
-
本周有效代码超过300分行的(加2分)
- 一周提交次数少于20次的不加分
-
其他加分:
- 周五前发博客的加1分
- 感想,体会不假大空的加1分
- 排版精美的加一分
- 进度条中记录学习时间与改进情况的加1分
- 有动手写新代码的加1分
- 课后选择题有验证的加1分
- 代码Commit Message规范的加1分
- 错题学习深入的加1分
- 点评认真,能指出博客和代码中的问题的加1分
- 结对学习情况真实可信的加1分
-
扣分:
- 有抄袭的扣至0分
- 代码作弊的扣至0分
- 迟交作业的扣至0分
点评:
点评过的同学博客和代码:
20182311
其他(感悟、思考等,可选)
本周的学习内很多,结合教材和网课视频,我感觉我对这部分的知识理解还s是不怎么理解,还有些学习任务没有很好地完成,争取早日完成。学习这种事情不能拖拉,而且需要及时去复习,每次测试我感觉都有很多内容好像没有见过,错题也比较多,以后的学习还是多以复习为主,老师给的资料对学习很有帮助,也要认真地看。这一周事情还是一如既往地多,以后的学习中还要加油努力。继续努力,保持专注。
学习进度条
代码行数(新增/累积) | 博客量(新增/累积) | 学习时间(新增/累积) | 重要成长 | |
---|---|---|---|---|
目标 | 10000行 | 30篇 | 400小时 | |
第一周 | 200/200 | 2/2 | 20/20 | |
第二周 | 300/500 | 2/4 | 18/38 | |
第三周 | 500/1000 | 3/7 | 22/60 | |
第四周 | 325/500 | 2/4 | 18/38 | |
第五周 | 600/1000 | 3/7 | 22/60 | |
第六周 | 300/1000 | 3/7 | 18/38 |