学号 20162327 《程序设计与数据结构》第7周学习总结

教材学习内容总结

  • 1.关于接口的理解:接口可以理解为比较纯粹的抽象类
  • 2.接口的特点:用interface定义接口

    接口中的方法都是抽象的方法

    接口中的方法都是public权限
  • 3.接口和继承的联系与区别:一个类只能继承一个父类,而一个接口能实现多个接口

    继承一个类用extends,实现一个接口用implements(一种特殊的继承)
  • 4.多态的特点:多态引用在不同的时候可以指向不同类型的对象

    多态引用在运行时才将方法调用与它的定义绑定在一起

    对象的类型决定调用的方法是哪个版本
  • 5.Comparable接口:此接口中值包含一个方法compareTo,它带有一个对象类型参数,返回一个整型值

    Iterator接口:它用来表示类的一组对象,提供一种从头至尾每次访问一个对象的机制,包含hasNext.next两个基本方法。

教材学习中的问题和解决过程

  • 1问题:工厂方法模式
  • 1解决方案:抽象工厂(ExportFactory)角色:担任这个角色的是工厂方法模式的核心,任何在模式中创建对象的工厂类必须实现这个接口。在实际的系统中,这个角色也常常使用抽象类实现。

  具体工厂(ExportHtmlFactory、ExportPdfFactory)角色:担任这个角色的是实现了抽象工厂接口的具体JAVA类。具体工厂角色含有与业务密切相关的逻辑,并且受到使用者的调用以创建导出类(如:ExportStandardHtmlFile)。

  抽象导出(ExportFile)角色:工厂方法模式所创建的对象的超类,也就是所有导出类的共同父类或共同拥有的接口。在实际的系统中,这个角色也常常使用抽象类实现。

  具体导出(ExportStandardHtmlFile等)角色:这个角色实现了抽象导出(ExportFile)角色所声明的接口,工厂方法模式所创建的每一个对象都是某个具体导出角色的实例。

代码调试中的问题和解决过程

  • 1问题:删除数组的一个元素并且将后面的元素向前移
  • 1解决方案:
import java.io.*;
public class Shuzu {
public static void main(String[] args) {
String[] names = {1,2,3,4,5};
int i;
int n=names.length;
for(i=0;i<n;i++){
if(names[i].equals(2))
break;
}
int j =i;
for(i=j+1;i<n;i++) {
names[i-1]=names[i];
}
names[i-1]="";
n=n-1;
for(i=0;i<n;i++){
System.out.println(i+"\t"+names[i]);
}
}
}

代码托管

  • 代码提交过程截图:

  • 代码量截图:

结对学习情况:

我和我的搭档共同研究了数组中删除和添加元素的问题,效率奇高。下面,我们将共同研究TDD模式的运用以及测试代码的编写

上周考试错题总结

  • 1.下面哪些Linux 命令可以ASCII码和16进制单字节方法输出Hello.java的内容?选BC

    A .od -b -tx1 Hello.java

    B .od -tcx1 Hello.java

    C .od -tc -tx1 Hello.java

    D .od -tbx1 Hello.java
  • 2.A _______________________ class represents a generic concept in a class hierarchy(_____表示类层次中的一般概念).选B

    A .super(超类)

    B .abstract(抽象类)

    C .interface(接口类)

    D .shadow(隐藏类)

    E .generic(一般类)
  • 3.如果有以下的程序代码:选A

    Int x=100;

    Int y=100;

    Integer wx=x;

    Integer wy=y;

    System.out.println(xy);

    System.out.println(wxwy);

    在JDK5以上的环境编译与执行,则显示的结果是

    A .true、true

    B .true、false

    C .false、true

    D .编译失败
  • 4.如果有以下的程序代码:选C
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[]

  • 5.下面哪条命令可以把 f1.txt 复制为 f2.txt ?选AC

    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
  • 6.如果有以下程序片段:选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 .编译失败

解析:toString()方法返回一个表示引用对象自己正常信息的字符串,而这个字符串的内容由我们自己去定义,默认的字符串内容是“类名+哈希编码”。

点评过的同学博客和代码

  • 本周结对学习情况

    • 20162321
    • 结对学习内容

      我和我的搭档共同研究了数组中删除和添加元素的问题,效率奇高。下面,我们将共同研究TDD模式的运用以及测试代码的编写
  • 上周博客互评情况

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

这几天正在看老师推荐的浪潮之巅,确实让我有点热血沸腾。我只看了一部分,其中就有对微软、苹果、IMB、Intel等大型跨国公司的历史的介绍,但不只有历史,里边还有作者许多的分析和观点。让我对它们有了一个更深的了解。在现在这个互联网的时代,我们每个年轻人都有着很多的机会,因为我们赶上了这个大潮,我们有这个能力也有这个机会去挑战,所以我们还在等什么呢。本书给了我很大的动力,让我对未来是一片憧憬!

学习进度条

代码行数(新增/累积) 博客量(新增/累积) 学习时间(新增/累积) 重要成长
目标 5000行 30篇 400小时
第一周 100/100 1/1 16/16
第二周 257/257 1/1 22/22
第三周 465/465 1/1 26/26
第四周 875/875 2/2 40/40
第五周 600/600 1/1 40/40
第六周 330/330 1/1 36/36
第七周 467/467 2/2 30/30

参考资料

20162327WJH程序设计与数据结构第七周总结的更多相关文章

  1. 20172306 2018-2019-2 《Java程序设计与数据结构》第九周学习总结

    20172306 2018-2019-2 <Java程序设计与数据结构>第九周学习总结 教材学习内容总结 无向图 图是由结点和这些结点之间的连接构成 就图来说,结点叫做顶点,结点之间的连接 ...

  2. 20172306《Java程序设计与数据结构》第一周总结

    20172306<Java程序设计>第一周学习总结 教材学习内容总结 本周主要学习<Android和Java>书中的第二十三章和第二十六章. 第二十三章:Android简介 A ...

  3. 20172306 2018-2019 《Java程序设计与数据结构》第一周学习总结

    20172306 2018-2019 <Java程序设计与数据结构(下)>第一周学习总结 教材学习内容总结 第一章 概述 (程序=数据结构+算法 软件=程序+软件工程) 1.1 软件质量 ...

  4. 201771010134杨其菊《面向对象程序设计java》第七周学习总结

    第七周学习总结 第一部分:理论知识 1.继承是面向对象程序设计(Object Oriented Programming-OOP)中软件重用的关键技术.继承机制使用已经定义的类作为基础建立新的类定义,新 ...

  5. 20172306《Java程序设计与数据结构》第九周学习总结

    20172306<Java程序设计>第九周学习总结 教材学习内容总结 第十一章: try-catch语句.其中还有finally语句.try是进行某些操作,catch是捕获异常,并通过某些 ...

  6. 2017-2018-2 1723《程序设计与数据结构》第九周作业 & 第二周结对编程 总结

    作业地址 第九次作业:https://edu.cnblogs.com/campus/besti/CS-IMIS-1723/homework/1878 (作业界面已评分,可随时查看,如果对自己的评分有意 ...

  7. 201771010123汪慧和《面向对象程序设计JAVA》第七周实验总结

    一.理论部分 1.继承 如果两个类存在继承关系,则子类会自动继承父类的方法和变量,在子类中可以调用父类的方法和变量,如果想要在子类里面做一系列事情,应该放在父类无参构造器里面,在java中,只允许单继 ...

  8. 网易云课堂_C语言程序设计进阶_第七周:文件:文件访问、格式化输入输出、二进制输入输出

    7.1文件 7.2底层操作 7.1文件 格式化的输入输出 printf %[flags][width][.prec][hIL]type Flag 含义 - 左对齐 + 在前面放+或- (space) ...

  9. 《JAVA程序设计》_第七周学习总结

    一.学习内容 1.String类--8,1知识 Java专门提供了用来处理字符序列的String类.String类在java.lang包中,由于java.lang包中的类被默认引入,因此程序可以直接使 ...

随机推荐

  1. jquery 动态获得主机地址

    var curWwwPath=window.document.location.href; alert("curWwwPath"+curWwwPath); curWwwPath  ...

  2. 启动就加载(一)----注解方式实现的。static项目启动的时候就加载进来(一般用于常用参数)

    一,案例 1.1,图片分析 1.2,代码 1.2.1,编写加载系统参数的servlet public class SysInitServlet extends HttpServlet { public ...

  3. AJAX实现简单的读取文本文档内容到网页--AJAX

    效果图: Demo.html: <!DOCTYPE html><html lang="en"><head> <meta charset=& ...

  4. RobotFramework自动化测试框架-移动手机自动化测试Get Network Connection Status和Set Network Connection Status关键字的使用

    Get Network Connection Status关键字用来获取手机的网络连接状态.在获取到连接状态后,会返回不同的数字. Set Network Connection Status关键字用来 ...

  5. 简单的cookie读写封装

    <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8&quo ...

  6. 一次SQL慢查询的优化处理

    背景 在开发完成,数据验证的过程中,需要对两个非常大的表进行query,运行了十几分钟都跑不完.如下: select * from big_a a, big_b b where a.some_id = ...

  7. 【POJ2387】Til the Cows Come Home (最短路)

    题面 Bessie is out in the field and wants to get back to the barn to get as much sleep as possible bef ...

  8. Kruskal重构树(货车运输)

    ... 和Kruskal生成树一样 本来是u,v连一条f的边 现在变成新建一个点,点权为f,u v都像它连无边权的边 (实际上应该是u的根和v的根) 这样树有一些性质: 1.二叉树 2.原树与新树两点 ...

  9. BZOJ第7页养成计划

    嗯,用这篇博客当一个目录,方便自己和学弟(妹?)们查阅.不定期更新. BZOJ1600   BZOJ1601   BZOJ1602   BZOJ1603   BZOJ1604   BZOJ1605   ...

  10. data数据不一致的问题

    经常会遇到that.data能打印出来(能访问到),而that.data.xxx不能打印(为空)的情况.特别是在调用了云方法,然后setData的时候,为什么会出现这样的情况不明. 解决方法,将需要用 ...