20165208 2017-2018-2 《Java程序设计》第五周学习总结
20165208 2017-2018-2 《Java程序设计》第五周学习总结
教材学习内容总结
定义理解
内部类
- 内部类:一个类中定义的另一个类;
外嵌类:包含内部类的类。 - 内部类的类体不可以声明类变量和类方法。外嵌类的类体中可以用内部类声明对象,作为外嵌类的成员。
- 内部类可以被修饰为static内部类,其他类可以使用static内部类来创建对象,static类不能操作外嵌类中的实例成员变量。
- 非内部类不可以是static类。
匿名类
- 匿名类就是一个子类,且一定是内部类,不能用匿名类声明对象,但可以直接用其创建一个对象
- 用类的子类(匿名类)创建对象
new 类名(){
匿名类的类体
};
- 用匿名类创建对象时要直接使用父类的构造方法。
- 如果某个方法的参数是接口类型,那么可以使用接口名和类体组合创建一个匿名对象传递给方法的参数。
异常类与try-catch语句
- throw关键字抛出一个Exception子类的实例表示异常发生。
- 将可能出现的异常操作放在try-catch语句的try部分,将发生异常后的处理放在catch部分。一旦try部分显示异常,即刻执行try部分。
- throws关键字申明要产生的若干个异常,与throw是两个不同的关键字。
断言
- 当出现某个错误程序必须停止时应用断言语句。
assert booleanExpression;
assert booleanExpression:messageExpression
后者是当boolean值为true时从断言语句处继续执行。否则在断言处停止执行,并输出messageExpression的值。java -ea 类名
启用断言语句。
文件字节输入流
- 创建输入流时可能会出现错误,必须在try-catch语句中的try块部分创建输入流,catch部分检测并处理异常。
- 以字节为单位读取源中数据。
文件字节输入流
- 如果输出流指向的文件不存在,java就会创建该文件。如果创建的文件是已存在的文件,输出流将刷新该文件使文件长度为0。
- 利用可以选择是否具有刷新功能的构造方法创建指向文件的输出流。如果append值取true,输出流不刷新指向的文件,而是从文章末尾开始向文件写入数据,false刷新。
FileOutputStream(String name,boolean append);
FileOutputStream(File file,boolean append);
- 以字节为单位向目的地写数据。
缓冲流
BufferedReader(Read in);``BufferedWriter(Writer out);
用来按行读取文件。
随机流
- 用来读文件与写文件。
- RamdomAcessFile流的readLine()需要把readLine()读取的字符串用“iso-8859-1”重新编码放到byte数组中。
代码调试中的问题和解决过程
-
问题1:
-
问题1解决方案:暂时还未得以解决
代码托管
上周考试错题总结
- UML类图抽象类和抽象方法一般用斜体表示,一个类的属性能显示它的名字类型初始化值。用+表示public,用—表示private。继承用一个带三角的直线表示,由子类指向父类。
- 用类声明的变量称为对象,而非该类的一个全局变量。
- String a="ab"+"cd"创建了3个对象
- java程序以类为基本单位
- 不可以使用import java.*将类库中的所有的类都包含进去,要标注包的名称
参考资料
学习进度条
代码行数(新增/累积) | 博客量(新增/累积) | 学习时间(新增/累积) | 重要成长 | |
---|---|---|---|---|
目标 | 5000 行 | 30 篇 | 400 小时 | |
第一周 | 36/36 | 4/4 | 30/30 | |
第二周 | 464/500 | 1/5 | 18/48 | |
第三周 | 832/1332 | 2/7 | 17/65 | |
第四周 | 939/2271 | 2/7 | 17/65 | |
第五周 | 1163/3434 | 1/8 | 15/80 |