20165235 2018-3 《Java程序设计》第5周学习总结
20165235 2018-3 《Java程序设计》第5周学习总结
教材学习内容总结
第六章 内部类与异常类
- (一)内部类:1.java支持在一个类中定义另一个类,这个类叫内部类。2.内部类的类体中不可以声明类变量和类方法。2.外嵌类的类体中可以使用内部类声明对象,作为外嵌类的成员。4.内部类如果用
static
修饰,那么它作为外嵌类的一个静态数据。 - (二)1.匿名类一定是内部类。2.匿名可以继承父类的方法,也可以重写父类的方法。3.匿名类在创建对象时要直接使用父类的构造方法。
- (三)1.异常时程序运行时出现的错误,可以使用
throws
抛出一个Exception
子类的实例方法,表示异常发生。2.使用try—catch
语句来实现异常类。 - (四)当时用java解释器直接运行应运程序时,默认地关闭断言,在调试程序的时候可以使用
-ea
启用断言语句。
第十章 输入输出流
- (一)1.输入流的指向是源,输出流的指向是目的地。2.java.io提供大量的流类,所有的输入流都是抽象类
InputStream
或Reader
的子类。而所有的输出流都是抽象类OutputStream
或Writer
的子类。3.File
的对象主要用来获取文件本身的一些信息,例如文件所在的目的地,文件长度,文件读写权限等。不涉及对文件的读写操作。 - (二)1.输入流在读完源中数据后要关闭输入流,
input.close()
而对于输出流同理。 - (三)
writer
方法将数据首先写入到缓存中,每当缓存区溢出后,缓冲区的内容被自动写到目的地,如果关闭流,缓冲区的内容会被立即写入到目的地。流调用flush
()方法可以立即冲洗缓冲去。 - (四)源和目的地必须是字符输入输出流。
BufferReader
流可以读取文本行,方法是readLine()
教材学习中的问题和解决过程
- 问题1:在教材165页中,在ShowBoard类中,向void showMess()传入的是OutputAlphabet show的引用还是实体。
- 问题1解决方案:目前没有得到解决。
代码托管1
代码托管2
(statistics.sh脚本的运行结果截图)
上周考试错题总结
- 错题2:在课本50-51页就有答案,C语言编写代码时不需要考虑机器指令的细节。面向对象语言编写需要消耗更多的内存,所以需要更快的CPU来保证运行。
- 错题5:对于定义的Lader类的对象,其具有computerArea()和setHeight()两个行为
- 错误9:带三角的直线是由子类指向父类。
- 错误10:用类来声明的变量叫做对象。
- 错误11:如果类中定义一个或多个构造方法,java不提供默认的构造方法。
- 错误12:
String a ="ab"+"cd";
是创建了三个对象。 - 错误18:static修饰的方法是属于类方法,可以直接用类名来调用。
- 错误20:当实例成员变量的名字和局部变量的名字相同时,不能省略成员变量之前的"this. "static"变量前的类名。
- 错误22:没有注明包名所以c选项是错的。
- 错误24:不能用protected和private修饰类名。
- 错误28:题目中A选项不知道哪里错了,就是两个构造方法。一个是Hello(),另一个是Hello(int m)。
其他(感悟、思考等,可选)
在本周的学习中我了解到了结对学习这一学习方式。对于从未接触过得我来说是一个新的尝试,希望能通过结对学习来提高自己的学习效率。第七章和第十章的内容相对来说是有一点抽象,尤其是第十章,对于学好输入输出流最好的方法就是多操作。经过多次通过输入输出流来读写文件才能提高对代码的理解。
学习进度条
代码行数(新增/累积) | 博客量(新增/累积) | 学习时间(新增/累积) | 重要成长 | |
---|---|---|---|---|
目标 | 5000行 | 30篇 | 400小时 | |
第一周 | 31/31 | 1/1 | 20/20 | git的使用 |
第二周 | 373/404 | 2/3 | 18/38 | java基本数据语法 |
第三周 | 547/920 | 1/4 | 22/60 | 类与对象以及打包 |
第四周 | 919/1839 | 2/6 | 30/80 | 子类与继承,接口和面向接口编程 |
第五周 | 500/2300 | 3/9 | 20/ 100 | 输入输出流以及内部类 |