20165237 2017-2018-2 《Java程序设计》第5周学习总结
20165237 2017-2018-2 《Java程序设计》第5周学习总结
教材学习内容总结
1、内部类:在一个类中定义另一个类;外嵌类:包含内部类的类。
2、内部类的类体中不能声明类变量和类方法;外嵌类的类体中可以用内部类声明对象。
3、非内部类不能是static类。
4、匿名类:一个子类去掉类声明后的类体。
用Bank的一个子类(匿名类)创建对象:
new Bank() {
匿名类的类体
};
5、断言语句:一般用于程序不准备通过捕获异常来处理的错误。
断言语句的语法格式:
assert booleanExpression; 当booleanExpression的值是true时,程序从断言语句处继续执行;值是false时,程序从断言语句处停止执行。
assert booleanExpression:messageException; 当booleanExpression的值是true时,程序从断言语句处继续执行;值是false时,程序从断言语句处停止执行,并输出messageException,提示用户出现什么样的问题。
6、如果在try-catch语句中执行了return语句,那么finally子语句仍然会被执行。
7、try-catch语句中执行了程序退出代码,即执行System.exit(0);则不执行finally子语句。
8、File类的对象主要用来获取文件本身的一些信息。
9、创建File对象的构造方法(其中filename是文件的名字,directoryPath是文件的路径,dir为一个目录):
File(String filename);
File(String directoryPath,String filename);
File(File dir,String filename);
10、使用输入流步骤:
设定输入流的源——>创建指向源的输入流——>让输入流读取源中的数据——>关闭输入流。
11、使用输出流步骤:
给出输出流的目的地——>创建指向目的地的输出流——>让输出流把数据写入到目的地——>关闭输出流。
12、使用Scanner解析文件:
创建Scanner对象,并指向要解析的文件——>使用useDelimiter方法指定正则表达式作为分隔标记。
13、读取文件时可以使用javax.swing包提供的输入流类ProgressMonitorInputStream。
构造方法: ProgressMonitorInputStream(Component c,
String s,InputStream);
14、文件锁:
先使用RandomAccessFile流创建指定文件的流对象,该对象的读写属性必须是rw;
input流调用方法getChannel()获得一个连接到底层文件的FieChannel对象(信道)
信道调用tryLock()或lock()方法获得一个FileLock(文件锁)对象 :加锁;
文件锁对象产生后,将禁止任何程序对文件进行操作或者再进行加锁。
代码上传:
代码托管
(statistics.sh脚本的运行结果截图)
本周代码项目截图
学习进度条
代码行数(新增/累积) | 博客量(新增/累积) | 学习时间(新增/累积) | 重要成长 | |
---|---|---|---|---|
目标 | 5000行 | 30篇 | 400小时 | |
第一周 | 80/80 | 1/1 | 18/18 | 学会编写简单的JAVA应用程序 |
第二周 | 357/437 | 2/3 | 15/33 | 掌握数组、符号、数据的使用 |
第三周 | 695/1132 | 2/5 | 20/53 | 了解类与对象的基本结构和构造方法 |
第四周 | 765/1897 | 2/7 | 27/70 | 了解子类与继承、接口与实现 |
第五周 | 1174/3071 | 2/9 | 15/85 | 学会了异常处理,理解文件流的使用和特点 |