教材学习内容总结
1.在Java中,异常分为受检查的异常,与运行时异常. 两者都在异常类层次结构中.
2.受检查的异常(checked exceptions),其必须被 try{}catch语句块所捕获,或者在方法签名里通过throws子句声明.受检查的异常必须在编译时被捕捉处理, 是因为Java编译器要进行检查,Java虚拟机也要进行检查,以确保这个规则得到遵守.
3.运行时异常(runtime exceptions),需要程序员自己分析代码决定是否捕获和处理,比如 空指针,被0除...而声明为Error的,则属于严重错误,需要根据业务信息进行特殊处理,Error不需要捕捉。
4.如何使用try/catch块捕捉异常:将可能引发异常的代码节放在 Try 块中,而将处理异常的代码放在 Catch 块中。Catch 块是一系列以关键字 catch 开头的语句,语句后跟异常类型和要执行的操作。
5.用户程序自定义的异常和应用程序特定的异常,必须借助于 throws 和 throw 语句来定义抛出异常。
6.throw是语句抛出一个异常。语法:throw (异常对象)。throw语句用在方法体内,表示抛出异常,由方法体内的语句处理。throw是具体向外抛异常的动作,所以它是抛出一个异常实例。throw就是你把那个倾向变成真实的了。
7.throws是方法可能抛出异常的声明。(用在声明方法时,表示该方法可能要抛出异常)(修饰符)(方法名)([参数列表])[throws(异常类)]{......}。throws语句用在方法声明后面,表示再抛出异常,由该方法的调用者来处理。throws主要是声明这个方法会抛出这种类型的异常,使它的调用者知道要捕获这个异常。throws说明你有那个可能,倾向。
8.Collection是最基本的集合接口,一个Collection代表一组Object,即Collection的元素。所有实现Collection接口的类都必须提供两个标准的构造函数:无参数的构造函数用于创建一个空的Collection,有一个Collection参数的构造函数用于创建一个新的Collection,这个新的Collection与传入的Collection有相同的元素。后一个构造函数允许用户复制一个Collection。由Collection接口派生的两个接口是List和Set。
9.java为数据结构中的映射定义了一个接口java.util.Map.Map主要用于存储健值对,根据键得到值,因此不允许键重复(重复了覆盖了),但允许值重复。
10.Lambda表达式是Java SE 8中一个重要的新特性。lambda表达式允许你通过表达式来代替功能接口。 lambda表达式就和方法一样,它提供了一个正常的参数列表和一个使用这些参数的主体(body,可以是一个表达式或一个代码块)。Lambda表达式还增强了集合库。
11.泛型是Java SE 1.5的新特性,泛型的本质是参数化类型,也就是说所操作的数据类型被指定为一个参数。这种参数类型可以用在类、接口和方法的创建中,分别称为泛型类、泛型接口、泛型方法。 Java语言引入泛型的好处是安全简单。
教材学习中的问题和解决过程
教材p236上的代码还没有理解throws声明在哪些地方能用,哪些地方不能用。
package cc.openhome;
import java.io.*;
import java.util.Scanner;
public class FileUtil {
public static String readFile(String name) throws FileNotFoundException {
StringBuilder text = new StringBuilder();
try {
Scanner console = new Scanner(new FileInputStream(name));
while(console.hasNext()) {
text.append(console.nextLine())
.append('\n');
}
} catch (FileNotFoundException ex) {
ex.printStackTrace();
throw ex;
}
return text.toString();
}
}
本周代码托管截图
其他(感悟、思考)
这周需要掌握记忆的知识点很多,消化的不是很好,还是要继续努力,多多实践吧。
学习进度条
代码行数(新增/累积) | 博客量(新增/累积) | 学习时间(新增/累积) | 重要成长 | |
---|---|---|---|---|
第一周 | 100/100 | 2/2 | 10/10 | |
第二周 | 150/250 | 1/3 | 10/20 | |
第三周 | 100/350 | 1/4 | 10/30 | |
第四周 | 320/670 | 1/5 | 30/60 | |
第五周 | 700/1370 | 1/6 | 30/90 |