20155325 2016-2017-2 《Java程序设计》第5周学习总结
教材学习内容总结
- Java中把正常流程放try块中,错误(异常)处理放catch块中。
- Error及其子类写程序不用处理,最多留个日志。因为这种错误Java应用程序本身是无力回复的。
- 在使用throw重抛异常时,异常的追踪堆栈起点,仍是异常的发生根源,而不是重抛异常的地方。如果想要让异常堆栈起点为重抛异常的地方,可以使用fillInStackTrace(),这个地方会重新装填异常堆栈的地方,并返回Throwable对象。
- Deque双向队列
教材学习中的问题和解决过程
-
问题1:InputMismatchException
-
问题1解决方案:input mismatch exception翻译:输入不匹配的异常
-
问题2:Integer.parseInt(input)
-
问题2解决方案:含义:Integer.parseInt(input)将input转换为int类型的值
-
问题3:assert
-
问题3解决方案:参考资料:Java陷阱之assert关键字
按照博客所说
我放了博客本身写的程序,程序运行成功
但是当我把true修改为不正确的表达式的时候却出现如下情况:
为什么没有终止程序呢?我的猜测是IDEA里默认不进行断言检查。经过查询,参考资料:Java 断言 assert 详解与在IDEA的配置
果然如此:
同时,改博客的程序我在idea里也进行了验证,证实如此
代码调试中的问题和解决过程
-
问题1:
-
问题1解决方案:少打了一行
-
问题2:断言的测试句子不识别,见“教材学习中的问题和解决过程”问题三。
-
问题2解决方案:见“教材学习中的问题和解决过程”问题三。
代码托管
上周考试错题总结
-
CH06填空:Java中通过(继承)和接口实现多态。
“封装是继承的基础,继承是多态的基础。”但是这里空里不能加“封装”。
-
用enum定义一个Season的类型表示四季(public enum Season{SPRING, SUMMER, AUTUMN,WINTER})。
最好大写
-
面向对象中,设计经验可以用(设计模式)表达。
p187最下面“提示”中。
-
在构造方法中调用父类的构造方法,要使用(super)关键字
-
在构造方法中调用本类的构造方法,要使用(this)关键字
在构造器中可以调用本类的其他重载构造器,不能使用构造器名称来调用另一个构造器,而是应该使用Java特定的this(….)来调用。
参考资料:java使用this关键字调用本类重载构造器;Java中this调用重载构造函数 -
实现一个类中的equals()方法时,一定要同时实现(hashCode())方法
hashCode是jdk根据对象的地址或者字符串或者数字算出来的int类型的数值。
如果根据 equals(Object) 方法,两个对象是相等的,那么对这两个对象中的每个对象调用 hashCode 方法都必须生成相同的整数结果,注:这里说的equals(Object) 方法是指Object类中未被子类重写过的equals方法。
如果两个hashCode()返回的结果相等,则两个对象的equals方法不一定相等。
如果两个对象相同,就是适用于equals(Java.lang.Object) 方法,那么这两个对象的hashCode一定要相同。参考资料:百度百科hashcode; Java中hashCode的作用
结对及互评
搭档:20155328张钰清 zhang98
点评过的同学博客和代码
其他
虽然看了学习指导重点,但是还是无法从中抓出考试的侧重,内心复杂,继续修炼。
本周为了筹备这周的某考试,不得不花了很多时间去弄那个,深感提高效率的重要性。
学习进度条
代码行数(新增/累积) | 博客量(新增/累积) | 学习时间(新增/累积) | 重要成长 | |
---|---|---|---|---|
目标 | 5000行 | 16篇 | 400小时 | |
第一周 | 9/9 | 1/1 | 19/19 | 熟练下载安装技能,锻炼解决问题能力 |
第二周 | 185/194 | 1/2 | 16/35 | 下载并熟悉IDEA,练习使用码云、git的技能。 |
第三周 | 488/535 | 1/3 | 18/53 | 花了更少时间磨合软件,学习更顺利 |
第四周 | 366/901 | 2/5 | 18/71 | 继承、多态、行为 |
第五周 | 611/1512 | 1/6 | 14/67 | 异常处理、Collection与Map |
尝试一下记录「计划学习时间」和「实际学习时间」,到期末看看能不能改进自己的计划能力。这个工作学习中很重要,也很有用。
耗时估计的公式
-
计划学习时间:15小时
-
实际学习时间:14小时
-
改进情况:调整状态,继续学习。
(有空多看看现代软件工程 课件
软件工程师能力自我评价表)