# 2165310 《Java程序设计》第5周学习总结
教材学习内容总结
ch07内部类与异常类
内部类
- 继承外嵌类成员变量与方法
- 不可以声明类变量/类方法
- 不可以被外嵌类以外的类调用,外嵌类可以通过它声明对象作为成员
- 可以被static
修饰,但是不能调用外嵌类实例成员变量。(非内部类不可以用static
修饰)- 匿名类
- 和子类有关的匿名类:是一个子类,不能用于声明对象但是可以直接创建对象。
- 和接口有关的匿名类:必须重写类名中的全部方法 - 异常类
-try-catch
语句:异常类可以调用public String getMessage();
、public void printStackTrace();
、public String toString();
获取有关异常信息。
- 自定义异常类:扩展extends
类自定义异常类,声明方法时,用throws
声明要产生的若干异常,创建异常对象,用throw
抛出该异常对象。 断言:
- 语法:assert booleanExpression;
或者assert booleanExpression:messageException;
- 启用与关闭断言语句:java -ea mainClass
I/O流
- 总体:引入
java.io
包,所有输入流都是ImputStream
(字节输入流)或Reader
(字符输入流)的子类,所有输出流都是OutputStream
(字节输出流)或Writer
(字符输出流)的子类。 - File类:
- 不涉及对文件的读写操作
- 文件属性:利用相关函数可以获得文件相关信息,具体函数见书p282。
- 目录:
1. 创建目录:public boolean mkdir()
2. 列出目录下文件与子目录:public String[] list()
,public File[] listFiles()
3. 返回目录下指定类型文件:public String[] list(FilenameFilter)
,public File[] listFiles(FilenameFilter)
,其中通过重写FilenameFilter
接口的方法public boolean accept(File dir,String name);
并调用。
- 运行可执行文件:Runtime
类 - 文件字节输入、输出流:
InputStream
与OutputStream
类 - 文件字符输入、输出流:
FileReader
与FileWriter
类 - 缓冲流:
BufferedReader
与BufferedWriter
类 - 随机流:
RandomAccessFile
类 - 数组流:
- 字节数组流:
ByteArrayInputStream
和ByteArrayOutputStream
类 - 字符数组流:
CharArrayInputStream
和CharArrayOutputStream
类
- 字节数组流:
- 数据流:
DataInputStream
和DataOutputStream
类 - 对象流:
ObjectInputStream
和ObjectOutputStream
类 - 序列化对象克隆
-
Scanner
解析文件
- 默认分隔符:空格
- 自定义分隔符:正则表达式 - 文件对话框
- 带进度条的输入流
- 文件锁
教材学习中的问题和解决过程
-
Mac与Windows有所不同,代码有时没法运行
解决过程:根据Mac的路径等修改代码
-
跳过几章内容,有的代码不是很理解
查看工作文档或者上网搜索,进行学习标注
-
输入流、输出流众多,有时会进行混淆
回头查看书本内容,多次记忆辨析
代码托管
上周考试错题总结
- 测试完成后补充