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

结对及互评

20162309

点评过的同学博客和代码

其他(感悟、思考等,可选)

本周实验课上的内容需要用到大量的时间,周末时间被大量占用(比如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小时

  • 改进情况:

(有空多看看现代软件工程 课件
软件工程师能力自我评价表
)

参考资料

posted @ 2017-04-16 20:50  DeforeSya  阅读(228)  评论(4编辑  收藏  举报