20162313_苑洪铭_ 第7周学习总结
20162313 2016-2017-2 《程序设计与数据结构》第7周学习总结
教材学习内容总结
- 后绑定 绑定发生在程序执行过程中,即绑定动作在执行期进行。java中的所有method,除final method之外,皆使用后期绑定的方式;效率低一些
- 通过继承实现多态 引用变量可以指向声明继承于它的任意类的任何对象。对象的类型,而不是引用的类型,决定调用是方法的哪个版本
- 接口 是一组常量和抽象方法
- 通过接口实现多态
教材学习中的问题和解决过程
- 问题1:多态的实现有什么必要条件?
- 问题1解决方案:一、要有继承;
二、要有重写;
三、父类引用指向子类对象。
代码调试中的问题和解决过程
本周代码还没打完所以本周已经打完的代码方面暂时没有什么问题 像count这类的问题都可以通过其它同学的博客找到答案
代码托管
(statistics.sh脚本的运行结果截图)
上周考试错题总结
下面哪条命令可以把 f1.txt 复制为 f2.txt ?
- A .
cp f1.txt f2.txt - B .
copy f1.txt f2.txt - C .
cat f1.txt > f2.txt - D .
cp f1.txt | f2.txt - E .
copy f1.txt | f2.txt - 正确答案: A C
- copy是Windows下的命令。cat f1.txt > f2.txt 通过输出重定向实现了复制。
Linux中,使用()命令可以更改一个文件的权限。
- A .
attrib - B .
change - C .
chmod - D .
file - 正确答案: C
A _______________ variable is shared among all instances of a class(_____变量由类的所有实例共享).
- A .
static - B .
final - C .
public - D .
private - E .
none of the above(以上都不是) - 正确答案: A
If a service is so complex that it cannot be reasonably be implemented using one method, it is often helpful to decompose it to make use of ________________ support methods(如果一个服务非常复杂,以至于不能用一个方法来实现,一般通过将方法分解成几个____支撑方法).
- A .
static - B .
aggregate(聚合) - C .
private(私有) - D .
public - E .
final - 正确答案: C
如果有以下程序片段:
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 .
编译失败 - 正确答案: B
下面哪些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 - 正确答案: B C
- -b 是以八进制输出
If a subclasses constructor does not make an explicit call to a superclass's constructor, ______________________ (如果子类构造函数没有显式调用超类的构造函数,那么________).
- A .
a run-time error will result(将产生运行时错误). - B .
a compile-time error will result(将产生编译时错误). - C .
the constructor will be called anyway(构造函数不管怎样都会被调用). - D .
the class will be implicitly declared as abstract(该子类将被隐式声明为abstract). - E .
none of the above(以上都不是) - 正确答案: C
如果有以下的程序代码:
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 .
编译失败 - 正确答案: A
如果有以下的程序代码:
String [][] strs={
{“Java”,“Java”,“Java”} ;
{“Java”,“Java”,“Java”,“Java”};
};
For(______ row:strs){
For(____ str:row){
.........
}
}
空白处应该分别填上
- A .
String、String - B .
String、String[] - C .
String[]、String - D .
String[]、String[] - 正确答案: C
结对及互评
点评过的同学博客和代码
- 本周结对学习情况
其他(感悟、思考等,可选)
本周实验课上的内容需要用到大量的时间,周末时间被大量占用(比如IDEA貌似我每次使用都要手动载入一个jar包),而正常的课本内容学习受到一点影响 本次博客内容并不充足
学习进度条
代码行数(新增/累积) | 博客量(新增/累积) | 学习时间(新增/累积) | 重要成长 | |
---|---|---|---|---|
目标 | 5000行 | 30篇 | 400小时 | |
第一周 | 90/90 | 1/1 | 20/20 | |
第二周 | 377/467 | 1/2 | 14/34 | |
第三周 | 344/811 | 1/3 | 17/51 | |
第四周 | 846/1684 | 2/5 | 》30/81 | |
第五周 | 777/2461 | 1/6 | 12/93 | |
第六周 | 461/2922 | 1/7 | 10/103 | |
第七周 | 761/3683 | 2/9 | 25/128 |
尝试一下记录「计划学习时间」和「实际学习时间」,到期末看看能不能改进自己的计划能力。这个工作学习中很重要,也很有用。
耗时估计的公式
:Y=X+X/N ,Y=X-X/N,训练次数多了,X、Y就接近了。
-
计划学习时间:12小时
-
实际学习时间:25小时
-
改进情况:
(有空多看看现代软件工程 课件
软件工程师能力自我评价表)