学号 2016-2017-2 《Java程序设计》第四周学习总结
教材学习内容总结
-
继承:避免多各类间重复定义行为,extends关键字表示继承后再扩充原本没有的行为。如果没有使用extends关键字指定继承任何类,则比为继承java.lang.Object。
-
子类与父类之间,是“is a”的关系,即子类是一种父类。
-
多态就是使用单一接口操作多种类型的对象。
-
重新定义:定义与父类中相同的方法部署,但执行内容不同。重新定义方法时,对于父类中的方法权限,只能扩大但不能缩小。
-
如果某方法区块中真的没有任何程序代码操作,可以使用abstract将该方法标示为抽象方法。内含抽象方法的类,一定要在class前标示abstract,它标示这是一个定义不完整的抽象类。
-
在类内部,关键字public,protected,private和无关键字都可存取;相同包类中,关键字public,protected和private可存取,无关键字不可存取;在不同包类之间,public关键字可存取,protected子类可存取,private和无关键字不可存取。
-
如果想取得父类中的方法定义,可以在调用方法前,加上super关键字。
-
final限定用在声明变量时,如果后续撰写程序时自己或别人不经意想修改final变量,就会出现编译错误;而如果用在class前定义时,表示这个类是最后一个了,不会再有子类(即不能被继承)。
-
interface关键字用于定义行为,而implements关键字用于类操作接口。
-
与继承的“是一种”关系不同,操作接口表示“拥有行为”。
-
类可以同时继承某个类,并操作某些接口。
教材学习中的问题和解决过程
-
问题1:在看第六章前面时,教材代码中常出现format,不太明白他的意思。
-
解决方案1:去百度查阅了一下format的用法,阅读了《java中的String.format使用》
代码调试中的问题和解决过程
-
问题1:在运行教材162页的RPG程序时,编译后显示如下:
-
解决方案1:看了错误提示信息,揣测是Role程序中的问题,点开Role后发现是编写setBlood时未写形式参数,后来补充上了:
-
问题2:书上许多程序中出现了@ Override,看了169页的解释,依然不太理解。
-
解决方案2:询问了同学后,在原代码上加上了@Override,如图,出现了以下标志:
代码托管
运行statistics脚本截图:
上周考试错题总结
-
System.out.println(“”+52+25);的结果是(5225)。错题原因:对println了解不深刻,引号后的加号是直接将内容贴上去,无需计算。
-
p86 命令行下编译Guess.java的命令是(javac -d . Guess.java)。错题原因:没有写-d,忽略了是将.class文件放在指定目录下。
-
p109 Average.java 求1,2,3,4,5的平均值的命令是(java cc.openhome.Average 1 2 3 4 5。错题原因:忘了写cc.openhome.目录。
其他(感悟、思考等,可选)
这周虽比起上周的仓促好了一些,但离每天敲代码还有些距离。学以致用,也须以用补学。希望自己再接再厉吧:)
学习进度条
代码行数(新增/累积) | 博客量(新增/累积) | 学习时间(新增/累积) | 重要成长 | |
---|---|---|---|---|
目标 | 5000行 | 30篇 | 400小时 | |
第一周 | 8/8 | 1/1 | 20/20 | |
第二周 | 164/172 | 1/2 | 25/45 | |
第三周 | 248/420 | 1/3 | 25/70 | |
第四周 | 465/885 | 1/4 | 25/95 |
-
计划学习时间:30小时
-
实际学习时间:25小时
-
改进情况: