20162329张旭升 2016-2017-2 《程序设计与数据结构》第七周学习总结
20162329张旭升 2016-2017-2 《程序设计与数据结构》第七周学习总结
教材学习内容总结
- 通过继承实现多态:若两个类是is-a关系,将子类对象向上转型为父类后该变量就可以实现多态,即可以用该变量随意调用父类或者子类中的各种方法,注意在调用子类方法时前面要进行一个强制类型转换。
- 通过接口实现多态:假设有一个自定义接口,下面有多个类实现了这个接口,可以用接口声明一个引用变量,该引用变量可以指向任意一个实现了该接口的类,然后就可以通过该变量调用多个类中的方法或变量。
教材学习中的问题和解决过程
- 问题1:在打完书上9.1到9.7的代码后进行编译发现总有这么一个
error
无法解决。
- 问题1解决方案:我仔细看了几遍代码,发现是书上的代码写错了,之前的所有类中都没有关于
count
这个变量的引用和声明。
代码调试中的问题和解决过程
- 这周没有出现新的调试方面的问题,出现的都是一些见过的错误,基本一下就能找到错误的地方并更正。
代码托管
上周考试错题总结
第五周测试:
7.以下哪个方法头部最有可能是设值方法的头部?
A .public int getAge()
B .public double computeSalary()
C .public Person()
D .public void setAge(int newAge)
7.错误原因:
开始不理解头部是什么意思,解析中说:调整器是更改实例变量的值的方法,通常被称为setter
8.___变量由类的所有实例共享.
A .static
B .final
C .public
D .private
8.错误原因:
粗心看到public下意识的选了。
16.如果一个服务非常复杂,以至于不能用一个方法来实现,一般通过将方法分解成几个____支撑方法
A .static
B .aggregate(聚合)
C .private(私有)
D .public
16.错误原因:
看书不仔细,概念混淆了。
17.重载方法的版本通过____区分.
A .参数的个数,类型和次序
B .重载方法的标识符
C .重载方法的类
D .参数的个数和类型
E .参数的个数
17.错误原因:
粗心看到个数类型就直接选了。
25.果有以下程序片段:
class Some{
String ToString(){
return "Some instance";
}
}
public class Main{
public static void main(String[] args){
Some some = new Some();
System.out.println(some);
}
}
以下描述正确的是
A .显示Some Instance
B .显示Some@XXXX,XXXX为十六进制的数字
C .发生ClassCastException
D .编译失败
25.错误原因:
不知道打印对象本身就是运行toString方法。
第六周测试
2.下面哪些Linux 命令可以ASCII码和16进制单字节方法输出Hello.java的内容?
A .od -b -tx1 Hello.java
B .od -tcx1 Hello.java
C .od -tc -tx1 Hello.java
D .od -tbx1 Hello.java
2.错误原因:
Linux命令学习不扎实。
4.通过继承派生出新类的原有类称为
A .超类
B .父类
C .基类
D .以上都正确
E . 以上都不正确
4.错误原因:
基础概念不扎实,只知道被继承的类是父类。
13.如果子类构造函数没有显式调用超类的构造函数,那么_______
A .将产生运行时错误
B .将产生编译时错误
C .构造函数不管怎样都会被调用
D .该子类将被隐式声明为abstract
13.错误原因:
粗心没有认真理解题意。
24.如果有以下的程序代码:
int[] arr1 = {1, 2, 3};
int[] arr2 = new int[arr1.length];
arr2 = arr1;
for(int value : arr2) {
System.out.printf("%d", value);
}
以下描述何者正确?
-A .执行时显示123
B .执行时显示12300
C .执行时出现 ArrayIndexOutOfBoundException 错误
D .编译失败
24.错误原因:
前面学的数组的内容有所遗忘。
结对及互评
刘伟康同学这周学习中有了很大的进步,开始学习自己去敲一些简单的代码,一些概念不清的地方也开始使用一些测试类去验证想法,虽然思想依旧比较死板,总会思钻牛角尖但是有进步就是很好的,望继续努力!
点评过的同学博客和代码
-
因为本周有实验的原因,对于实验方面的一些东西我们之间进行了交流意见,我也教了他一些方法。
- 20162330
- 结对学习内容
- 书上概念的理解
-
上周博客互评情况
其他(感悟、思考等,可选)
通过每周的测试我发现虽然现在自主打一些简单代码问题不大,可是测试成绩总是不是我想象的样子,是我概念掌握的不好么,看了解析我感觉也不是的,就是做题的时候太着急太粗心,好多都是会的选错,这方面应该加强一下。
学习进度条
代码行数(新增/累积) | 博客量(新增/累积) | 学习时间(新增/累积) | 重要成长 | |
---|---|---|---|---|
目标 | 5000行 | 30篇 | 400小时 | |
第一周 | 73/73 | 1/1 | 13/13 | |
第二周 | 284/357 | 1/2 | 18/31 | |
第三周 | 387/744 | 1/3 | 15/46 | |
第四周 | 1134/1878 | 2/5 | >30/>70 | 多种嵌套循环使用 |
第五周 | 623/2501 | 1/6 | 15/>85 | 自定义类的创建使用 |
第六周 | 687/3188 | 1/7 | 15/>100 | 类的继承 |
第七周 | 1541/4207 | 2/8 | 15/>115 | 多态 |
尝试一下记录「计划学习时间」和「实际学习时间」,到期末看看能不能改进自己的计划能力。这个工作学习中很重要,也很有用。
耗时估计的公式
:Y=X+X/N ,Y=X-X/N,训练次数多了,X、Y就接近了。
-
计划学习时间:20小时
-
实际学习时间:15小时
-
改进情况:多写多测试。