20165323 第五周学习总结
教材学习内容总结
第七章 内部类与异常类
1、内部类与外嵌类之间的关系
2、内部类可以被修饰为static内部类
3、static内部类不能操作外嵌类中的实例成员变量
4、非内部类不可以是static类
5、匿名类:一个子类去掉类声明后的类体
6、匿名类就是一个子类,由于无名可用,所以不可能用匿名类声明对象,但却可以直接用匿名类创建一个对象
7、匿名类的特点:
- 匿名类可以继承父类的方法也可以重写父类的方法。
- 使用匿名类时,必然是在某个类中匿名类创建对象,因此匿名类一定是内部类。
- 匿名类可以访问外嵌类中的成员变量和方法,匿名类的类体中不可以声明static成员变量和static方法。
- 由于匿名类是一个子类,但没有类名,所以用匿名类创建对象时,要直接使用父类的构造方法。
- 匿名对象的引用可以传递给一个匹配的参数
8、如果某个方法的参数是接口类型,那么可以使用接口名和类体组合创建一个匿名对象传递给方法的参数,类体必须要重写接口中的全部方法。
9、java使用try-catch语句来处理异常。格式为
try {
包含可能发生异常的语句
}
catch(ExceptionSubClass1 e) {
...
}
catch(ExceptionSubClass1 e) {
...
}
10、各个catch参数中的异常类都是Exception的某个子类,表明try部分可能发生的异常,这些子类之间不能有父子关系,否则保留一个含有父类参数的catch即可
11、throw关键字的作用是抛出异常;throws关键字的作用是声明要产生的若干个异常
12、断言语句一般用于程序不准备通过捕获异常来处理的错误
13、使用关键字assert声明一条断言语句。具体表示为
- 若使用
assert booleanExpression;
形式的断言语句,当booleanExpression的值是true时,程序从断言语句处继续执行;值是false时,程序从断言语句处停止执行。 - 若使用
assert booleanExpression:messageException;
形式的断言语句,当booleanExpression的值是true时,程序从断言语句处继续执行;值是false时,程序从断言语句处停止执行,并输出messageException表达式的值,提示用户出现了什么样的问题
14、调试程序时可以使用-ea启用断言语句,格式为:java -ea mainClass
第十章 输入、输出流
1、输入流的指向称为它的源,程序通过输入流读取源中的数据
2、输出流的指向称为它的目的地,程序通过输出流把数据传送到目的地
- File类
1、File类的对象主要用来获取文件本身一些信息,不涉及对文件的读写操作。
2、构造方法 : File(String filename)
File(String directoryPath,String filename)
File(File dir,String filename)
3、文件的属性
4、创建目录:File对象调用方法public boolean mkdir()
创建一个目录,成功返回true,否则返回false
5、运行可执行文件- 声明一个对象:
Runtime ec;
- 创建对象:
ec = Runtime.getRuntime();
6、使用输入流步骤: - 设定输入流的源;
- 创建指向源的输入流;
- 让输入流读取源中的数据;
- 关闭输入流;
7、输出流步骤与输入流类似
8、构造方法
9、读取 :输入流读取int read
方法,输出流读取void write
方法。
10、关闭流:输入流in.close();
输出流void.close();
11、缓冲流 - BufferedReader和BufferedWriter类创建的对象称为缓冲输入、输出流,二者增强了读写文件的能力
- BufferedReader流和BufferedWriter流,二者的源和目的地必须是字符输入流和输出流。
- 构造方法
BufferedReader(Reader in);BufferedWriter(Writer out);
12、随机流 - RandomAccessFile类创建的流称为随机流,可以从这个流中读取文件的数据,也可以通过这个流写入数据到文件
- RandomAccessFile流指向文件时,不刷新文件
13、数组流
14、数据流
15、对象流
16、使用Scanner类和正则表达式来解析文件的特点是以时间换取空间,即解析的速度相对比较慢,但节省内存
学习中遇到的问题:
运行时出现错误,代码是照书上打的,没有问题,应该是少了某个插件
解决方法:在Windows系统进行运行,可以使用