20155314 2016-2017-2 《Java程序设计》第5周学习总结
20155314 2016-2017-2 《Java程序设计》第5周学习总结
教材学习内容总结
- 理解异常架构
- 牚握try...catch...finally处理异常的方法
- 会用throw,throws
- 理解Collection和Map架构
- 会用常见的数据结构和算法
- 了解Lambada和泛型
教材学习中的问题和解决过程
课后习题
所谓“实践是检验认识真理性的唯一标准”,我在IntelliJ IDEA上把教材第三章课后练习题又敲了一遍,给出了自己的答案,并加上了一些自己的分析,通过逐题进行代码调试实践的方式来深入对java类与对象的理解。小白在此恳请大家积极指出错误的地方(>_<)
7.4.1 选择题
-
A 分析:
interface Some7411 { //protected void doSome(); void doSome(); } class SomeImpl7411 implements Some7411 { public void doSome() { System.out.println("做一些事"); } } public class Exercise7411 { public static void main(String[] args) { Some7411 s=new SomeImpl7411(); s.doSome(); } }
-
B 分析:
interface Some7412 { int x=10; } public class Exercise7412 { public static void main(String[] args) { System.out.println(Some7412.x); } }
-
A 分析:
interface Some7413 { void doSome(); } class SomeImpl7413 implements Some7413 { //void doSome() { public void doSome() { System.out.println("做一些事"); } } public class Exercise7413 { public static void main(String[] args) { Some7413 s=new SomeImpl7413(); s.doSome(); } }
-
B 分析:
interface Some7414 { void doSome(); } class SomeImpl7414 implements Some7414 { public void doSome() { System.out.println("做一些事"); } } public class Exercise7414 { public static void main(String[] args) { Some7414 s=new SomeImpl7414(); s.doSome(); } }
-
B 分析:
interface Some7415 { void doSome(); } interface Other7415 { void doOther(); } class SomeOtherImpl7415 implements Some7415,Other7415 { public void doSome() { System.out.println("做一些事"); } public void doOther() { System.out.println("做其他事"); } } public class Exercise7415 { public static void main(String[] args) { Some7415 s=new SomeOtherImpl7415(); s.doSome(); Other7415 o=(Other7415)s; o.doOther(); } }
-
A 分析:
interface Some7416 { void doSome(); } abstract class AbstractSome7416 implements Some7416 { public abstract void doSome(); public void doService() { System.out.println("做一些服务"); } } public class Exercise7416 { public static void main(String[] args) { AbstractSome7416 s=new AbstractSome7416(); s.doService(); } }
-
D
interface Some7417 { void doSome(); } abstract class AbstractSome7417 implements Some7417 { public abstract void doSome(); public void doService() { System.out.println("做一些服务"); } } public class Exercise7417 { public static void main(String[] args) { AbstractSome7417 s=new AbstractSome7417() { public void doSome() { System.out.println("做一些事"); } public void doService() { } }; s.doService(); } }
-
A
interface Some7418 { void doSome(); } public class Exercise7418 { public static void main(String[] args) { Some7418 s=new Some7418() { public void doSome() { System.out.println("做一些事"); } public void doService() { System.out.println("做一些服务"); } }; s.doService(); } }
-
A 分析:
interface Some7419 { protected static final int x=10; static final int x=10; } public class Exercise7419 { public static void main(String[] args) { System.out.println(Some7419.x); } }
-
A
interface Some74110 { void doSome(); void doService() { System.out.println("做一些服务"); } } class SomeImpl74110 implements Some74110 { public void doSome() { System.out.println("做一些事"); } } public class Exercise74110 { public static void main(String[] args) { Some74110 s=new SomeImpl74110(); s.doSome(); s.doService(); } }
代码调试中的问题和解决过程
- macOS下如何查看Java API帮助文档?
在老师的指导下,我在APP Store中找到了一款名叫CHM Reader的免费软件,用来查看原本打不开的.chm格式的API帮助文档,效果还是很不错的~
代码托管
- 运行statistics:
上周考试错题总结
- 填空:使用JDB进行调试时查看源代码的命令是(list)。
- 填空:System.out.println( “HELLO”.( toLowerCase() ) ) 会输出“hello”..
- CH06判断:可以用父类声明对象引用,用子类生成对象,但需要强制类型转换。(X)
- CH06填空:写出编译P165 RPG.java的命令(javac –d . *.java)
- CH06判断:父类中有个public void fight(),子类中有个public void fight( Weapon w),这两个方法的关系是Override.(X)
- CH06 判断:抽象类的子类可以是抽象类也可以不是。(OK)
- CH06 判断:被声明为protected的方法,只能中继承后的子类中访问。(X)
- CH06 判断:父类的protected方法,在子类中可以override为public的方法。(OK)
- CH06 判断:Math中的abs()方法可以Override.(X)
- CH06 判断:XX是一个引用型变量,System.out.println(XX)等价于System.out.println(XX.toString()). (OK)
- CH06填空:实现一个类中的equals()方法时,一定要同时实现(hashCode())方法
- CH07 判断:接口中 int STOP等价于public static final int STOP. (ok)
- CH07 填空:用enum定义一个Season的类型表示四季(public enum Season{SPRING, SUMMER, AUTUMN,WINTER})。
- CH07 填空:面向对象中,设计经验可以用(设计模式)表达
结对及互评
这周在老师的指导下成功克隆了搭档20155323刘威良同学的码云学习项目~在我的监督下可每天都得老老实实敲代码喔( ̀⌄ ́)
评分标准(满分10分)
-
从0分加到10分为止
-
正确使用Markdown语法(加1分):
- 不使用Markdown不加分
- 有语法错误的不加分(链接打不开,表格不对,列表不正确...)
- 排版混乱的不加分
-
模板中的要素齐全(加1分)
- 缺少“教材学习中的问题和解决过程”的不加分
- 缺少“代码调试中的问题和解决过程”的不加分
- 代码托管不能打开的不加分
- 缺少“结对及互评”的不能打开的不加分
- 缺少“上周考试错题总结”的不能加分
- 缺少“进度条”的不能加分
- 缺少“参考资料”的不能加分
-
教材学习中的问题和解决过程, 一个问题加1分
-
代码调试中的问题和解决过程, 一个问题加1分
-
本周有效代码超过300分行的(加2分)
- 一周提交次数少于20次的不加分
-
其他加分:
- 周五前发博客的加1分
- 感想,体会不假大空的加1分
- 排版精美的加一分
- 进度条中记录学习时间与改进情况的加1分
- 有动手写新代码的加1分
- 课后选择题有验证的加1分
- 代码Commit Message规范的加1分
- 错题学习深入的加1分
-
扣分:
- 有抄袭的扣至0分
- 代码作弊的扣至0分
点评模板:
-
基于评分标准,我给本博客打分:(0-10)。得分情况如下:xxx
点评过的同学博客和代码
学习进度条
代码行数(新增/累积) | 博客量(新增/累积) | 学习时间(新增/累积) | 重要成长 | |
---|---|---|---|---|
目标 | 5000行 | 20篇 | 300小时 | |
第一周 | 34/34 | 1/4 | 12/12 | |
第二周 | 360/394 | 1/5 | 16/28 | |
第三周 | 701/1018 | 1/6 | 19/ 47 | 代码量激增( ̀⌄ ́) |
第四周 | 608/1375 | 1/7 | 18/55 | ①蹭了一节张健毅老师的Java课;②自己将数据结构课上所学的排序算法除了基数排序之外全部用C语言实现了一遍(`_´)ゞ;③本次博客史无前例的长:) |
第五周 | 1205/2580 | 1/8 | 9/64 | 蹭了一节张健毅老师的Java课 |
-
计划学习时间:20小时
-
实际学习时间:9小时
其实现在课本才看到第七章(>_<)按照教学进度应该学完第九章才对:(我的天感觉已经完全跟不上了啊:(