20165233 Java第7、十章学习总结

20165233 2017-2018-2 《Java程序设计》第五周学习总结

教材学习内容总结

ch07

  • 内部类:Java支持在一个类中声明另外一个类,这样的类称为内部类,而包含内部类的类称为内部类的外嵌类。java

  • 匿名类git

    • 和某类有关的匿名类就是该类的一个子类,该子类没有明显地用类声明来定义,因此称为匿名类。数组

    • 和某接口有关的匿名类就是实现该接口的一个类,给子类没有明显地用类声明来定义,因此称为匿名类。编辑器

  • 异常类学习

    • Java方法调用时可能出现异常,利用try-catch语句来处理。
  • 断言:assert关键字设计

ch10

  • InputStream的子类建立的对象为字节输入流,每次调取方法按顺序读取源中内容,直到末尾或流被关闭。3d

  • OutputStream的子类建立的对象为字节输出流,一样是按顺序写入。调试

  • Reader的子类建立的对象为字符输入流,一样按顺序读入。code

  • Write的子类建立的对象为字符输出流,同理。对象

  • File类

  • 文件字节输入、输出流

  • 文件字符输入、输出流

  • 缓冲流、随机流、数组流、数据流、对象流

  • 序列化与对象克隆

  • 使用Scanner解析文件

  • 文件锁

教材学习中的问题和解决过程

  • 问题1:throwthrows的区别是什么?
  • 问题1解决方案:throw这个关键字的做用是抛出异常;throws是方法可能抛出异常的声明。总的来讲,一个方法在声明时可使用throws关键字声明要产生的若干个异常,再用相应的异常类建立对象,并使用throw关键字抛出该异常对象。
  • 问题2:序列化是什么?
  • 问题2解决方案:序列化是Java中一种特殊的文本表示,序列化就是和Serializable接口相关的东西。序列化 (Serialization)将对象的状态信息转换为能够存储或传输的形式的过程。在序列化期间,对象将其当前状态写入到临时或持久性存储区。之后,能够经过从存储区中读取或反序列化对象的状态,从新建立该对象。

代码调试中的问题和解决过程

  • 问题1:教材293页中的Example10_8.java的例子,import java.io.**;**的做用是什么?为何使用**时,编译就会报错,写成*时,就可以正常编译、运行呢?

  • 问题1解决方案:这个问题暂时没有解决,没有找到缘由,而且每次使用*均可以正常运行。
  • 问题2:教材284页中的Example10_3.java,Mac中找不到文本编辑器(Mac的记事本)的路径与可执行文件?
  • 问题2解决方案:在网上寻找过,但也都没有此问题的解答。

代码托管

上周考试错题总结

  • 错题1:下列关于构造方法叙述正确的是:D.带有返回值的方法必定不是构造方法。

缘由:本题为多选题,漏选该选项,对于构造方法的判断条件掌握不全面。

理解状况:构造方法没有类型,没有返回值,且名字与它所在的类的名字彻底相同。

  • 错题2:下列关于实例变量和类变量的说法错误的是:B.分配给不一样对象的类变量占有不一样的内存空间,改变其中一个对象的实例变量不会影响其余对象的实例变量。

缘由:对于实例变量与类变量的一些细节知识点掌握不熟练。

理解状况:这是对“实例变量”的描述,而非“类变量”。错选为C.建立类的对象时,类变量再也不从新分配内存。

  • 错题3:如下对重载描述错误的是B.构造方法不能重载。

缘由:对该知识点不太清楚。

理解状况:已掌握。

  • 错题4:下列代码的执行结果均为true.
int i = 128;
Integer i2 = 128;
Integer i3 = new Integer(128);
System.out.println(i==i2);
System.out.println(i==i3);

缘由:未掌握Integer的类型。

理解状况:Integer类型的对象包含一个int类型的字段,Integer会自动拆箱为int,所以值相等。

其余(感悟、思考等,可选)

本周学习内容中间跨度有些大,越过八、9章,学习第10章时,发现有没有学到过的知识点。第7章听课的时候没有那么难理解了,可是要注意到细节的地方特别多,在看程序题的时候仍是有些费劲。第10章在流的这部份内容相近,也较好掌握,可是感受文件锁等知识点难度增大了。

相关文章
相关标签/搜索