20155323 2016-2017-2 《Java程序设计》第5周学习总结
教材学习内容总结
- 异常处理
提供两种异常处理机制:捕获异常和声明抛弃异常。
捕获异常:在Java程序运行过程中系统得到一个异常对象是,它将会沿着方法的调用栈逐层回溯,寻找处理这一异常的代码。找到能够处理这种类型异常的方法后,运行时系统把当前异常交给这个方法处理;如果找不到可以捕获异常的方法,则运行时系统将终止,相应的Java程序也将退出。捕获异常是通过
try-catch-finally
语句实现的。语法为:
try{ ... }catch(ExceptionName1 e){ ... }catch(ExceptionName2 e){ ... } ... }finally{ ... }
声明抛弃异常:当Java程序运行时系统得到一个异常对象时,如果一个方法并不知道如何处理所出现的异常,则可在方法声明时,声明抛弃异常。声明抛弃异常是在一个方法声明中的
throws
子句中指明的。如:
public int read() throws IOException{ ... }
其中throws IOException
就是声明抛弃异常,throws
后可以跟多个异常类型。
- 堆栈追踪:
它是一个方法调用过程的列表, 它包含了程序执行过程中方法调用的特定位置。查看堆栈追踪最简单的方法就是直接调用异常对象的
printStackTrace()
.
- 在使用
throw
重抛异常时,异常的追踪堆栈起点,仍是异常的发生根源,而不是重抛异常的地方。
- 无论try区块中有无发生异常,若撰写有
finally
区块,则finally
区块一定会被执行。如果程序撰写的流程中先return
了,而且也有finally
区块,finally
区块会先执行完后,再将值返回。
java.util.Collection
接口是描述Set
和List
集合类型的根接口,其中定义了有关集合操作的普遍性方法(部分)
List
接口继承了Collection
接口以定义一个允许重复项的有序集合。该接口不但能够对列表的一部分进行处理,还添加了面向位置的操作。
Set
接口不保存重复的元素,实际上Set就是Collection,只是行为不同。
Queue
接口用于收集对象时以队列方式,将收集的对象加入尾端,取得对象时从前端。
- 泛型是程序设计语言的一种特性。允许程序员在强类型程序设计语言中编写代码时定义一些可变部分,那些部分在使用前必须作出指明。各种程序设计语言和其编译器、运行环境对泛型的支持均不一样。将类型参数化以达到代码复用提高软件开发工作效率的一种数据类型。泛型类是引用类型,是堆对象,主要是引入了类型参数这个概念。
Lambda
表达式是一个匿名函数,直接对应于其中的lambda抽象,是一个匿名函数,即没有函数名的函数。
- 常用的
Map
操作类为java.util.HashMap
与java.util.TreeMap
,其继承自抽象类java.util.AbstractMap
。
Properties
类继承自HashTable
,一般常用setProperty()
指定字符串类型的键值,getProperty()
指定字符串类型的键,取回字符串类型的值,通常称为属性名称与属性值。
教材学习中的问题和解决过程
一开始我分不清异常继承架构的组成,后来经过查阅资料我对于异常继承架构有了进一步的认识。
代码调试中的问题和解决过程
我纠结了很久这个程序到底哪里运用了继承,后来发现这个程序是利用了前面两个继承了role的类来进行操作。
代码托管
- 代码提交过程截图:
上周考试错题总结
. 1.填空:使用JDB进行调试时单步执行命令有step和next,我们优先使用(next)。
. 29.填空:用enum定义一个Season的类型表示四季(public enum Season{SPRING, SUMMER, AUTUMN,WINTER})。
感想
这周比上周学习更加主动,但是和其他同学比起来还是有一段差距,希望自己下周不能松懈,可以继续保持这样的状态。
学习进度条
代码行数(新增/累积) | 博客量(新增/累积) | 学习时间(新增/累积) | 重要成长 | |
---|---|---|---|---|
目标 | 5000行 | 30篇 | 400小时 | |
第一周 | 100/100 | 1/4 | 10/10 | |
第二周 | 100/200 | 1/5 | 10/20 | |
第三周 | 100/300 | 1/6 | 10/30 | |
第四周 | 300/700 | 1/7 | 10/40 | |
第五周 | 400/1100 | 1/8 | 20/60 |