20155225 2006-2007-2 《Java程序设计》第五周学习总结

教材学习内容总结

使用try、catch异常处理,异常处理继承架构等

使用Collection收集对象,了解Collection架构

使用Map建立键值对应数据,了解Map架构

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

 @Override
public String toString() {
return String.format("(%s, %s)", name, number);
}

toString()是定义在Object中的一个方法,String类是Object的子类,String类重写了这个方法,现在是在Student类中重写toString(),作用是将类中两个字符串变量根据我制定字符串格式和参数生成格式化的新字符串。

  • 问题2:书上269页代码有问题,应该是System.out.println(students);

  • 问题3:这段代码中用到的add()方法,是直接将新建的Student对象加入students中,此处是不是已经默认会调用toString()方法合成字符串并将返回的字符串存入students,所以最后才会直接打印出来合成后的字符串。

public class Students {
public static void main(String[] args) {
Set students = new HashSet();
students.add(new Student("Justin", "B835031"));
students.add(new Student("Monica", "B835032"));
students.add(new Student("Justin", "B835031"));
System.out.println(students);
}
}
  • 问题4:为什么要用getclass()再去取得这个对象所对应的对象(不就是本身吗?)为什么不能写成getClass()!=obj;
@Override
public boolean equals(Object obj) {
if (obj == null) {
return false;
}
if (getClass() != obj.getClass()) {
return false;
}//比较是不是参考的同一个对象
final Student2 other = (Student2) obj;//不明白!!!
if (!Objects.equals(this.name, other.name)) {
return false;
}//这里不就是重定义equals吗?又调用equals是什么意思?
if (!Objects.equals(this.number, other.number)) {
return false;
}
return true;
}
  • 解决方法:百度找了篇文章Object中getClass()方法详解obj只是一个标签,要取得这个标签对应的对象实例就要用getclass(),但是比较标签是不是参考到同一个实例,直接用=不就行了吗?

  • 问题5:272页代码,以下代码中Request是定义的一个接口,为什么后面会有Request request = new Request(),难道接口可以实例化?

interface Request {
void execute();
} static void offerRequestTo(Queue requests) {
for (int i = 1; i < 6; i++) {
Request request = new Request() {
public void execute() {
System.out.printf("处理资料 %f%n", Math.random());
}
};
requests.offer(request);
}
}
}

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

  • 问题1:编译的时候提示使用了未经检查或不安全的操作。

  • 解决方案:查了百度,是没有使用泛型的原因,但使用后仍然这样提示。还在努力中……

代码托管



上周考试错题总结

  • 错题1:使用JDB进行调试时查看源代码的命令是(list)
  • 原因:还没弄好JDB,还没调试过。
  • 错题2:”Hello”.substring( 0,2 )的值是“He”
  • 理解情况:还不会看API文档。截取字符串的方法。
  • 错题3:可以用父类声明对象引用,用子类生成对象,但需要强制类型转换。
  • 原因和理解情况:不知道这句话什么意思。也就是Role Role = new SworsMan()这个例子。
  • 错题4:面向对象中,设计经验可以用(设计模式)表达
  • 错题5:Math中的abs()方法可以Override.(X)
  • 理解情况:abs()是取数值绝对值的方法。

结对及互评

评分标准(满分10分)

  1. 从0分加到10分为止

  2. 正确使用Markdown语法(加1分):

    • 不使用Markdown不加分
    • 有语法错误的不加分(链接打不开,表格不对,列表不正确...)
    • 排版混乱的不加分
  3. 模板中的要素齐全(加1分)

    • 缺少“教材学习中的问题和解决过程”的不加分
    • 缺少“代码调试中的问题和解决过程”的不加分
    • 代码托管不能打开的不加分
    • 缺少“结对及互评”的不能打开的不加分
    • 缺少“上周考试错题总结”的不能加分
    • 缺少“进度条”的不能加分
    • 缺少“参考资料”的不能加分
  4. 教材学习中的问题和解决过程, 一个问题加1分

  5. 代码调试中的问题和解决过程, 一个问题加1分

  6. 本周有效代码超过300分行的(加2分)

    • 一周提交次数少于20次的不加分

6 其他加分:

- 周五前发博客的加1分

- 感想,体会不假大空的加1分

- 排版精美的加一分

- 进度条中记录学习时间与改进情况的加1分

- 有动手写新代码的加1分

- 课后选择题有验证的加1分

- 代码Commit Message规范的加1分

- 错题学习深入的加1分

7 扣分:

- 有抄袭的扣至0分

- 代码作弊的扣至0分

点评模板:

  • 基于评分标准,我给本博客打分:(0-10)。得分情况如下:xxx

  • 参考示例

点评过的同学博客和代码

其他

这周学习感觉问题更多了,可能之前的学习特别是对示范代码的学习太流于表面,只是在打字母,而不是在敲代码。认真分析起代码来,觉得很多地方不理解为什么怎么写,正在努力改进。同时我感受到一点面向对象和C语言面向过程不同,面向过程很注重从内存看问题,任何一步操作都要知道在内存里发生了什么,而面向对象则不然,书上的讲述中也可以感受到更注重调用方法后的结果,而不甚关心内存。

学习进度条

代码行数(新增/累积) 博客量(新增/累积) 学习时间(新增/累积) 重要成长
目标 5000行 30篇 400小时
第一周 10/10 1/7 20/20
第二周 120/130 1/8 8/38
第三周 543/673 1/9 25/60
第四周 529/1072 1/10 25/90
第五周 609/1681 1/11 20/110

实际学习时间20.

计划学习时间15.

参考资料

20155225 2016-2017-2 《Java程序设计》第五周学习总结的更多相关文章

  1. 201521123025<java程序设计>第五周学习总结

    1. 本周学习总结 2. 书面作业 1.代码阅读:Child压缩包内源代码 1.1 com.parent包中Child.java文件能否编译通过?哪句会出现错误?试改正该错误.并分析输出结果. 1.2 ...

  2. Java程序设计第五周学习总结

    1. 本周学习总结 1.1 尝试使用思维导图总结有关多态与接口的知识点. 1.2 可选:使用常规方法总结其他上课内容. 2. 书面作业 **代码阅读:Child压缩包内源代码 Child.java源代 ...

  3. 20155225 2016-2017-2 《Java程序设计》第九周学习总结

    20155225 2016-2017-2 <Java程序设计>第九周学习总结 教材学习内容总结 JDBC入门 了解JDBC架构 使用JDBC API JDBC是用于执行SQL的解决方案,开 ...

  4. 20155225 2016-2017-2 《Java程序设计》第一周学习总结

    20155225 2016-2017-2 <Java程序设计>第一周学习总结 教材学习内容总结 JVM(java virtual machine)就是java虚拟机,我的理解就是编译运行j ...

  5. 20155326 2016-2017-2 《Java程序设计》第九周学习总结

    20155326 2016-2017-2 <Java程序设计>第九周学习总结 教材学习内容总结 1.撰写应用程序是利用通信协议对数据库进行指令交换,以进行数据的增删查找. 2.JDBC目的 ...

  6. 20155229 2016-2017-2 《Java程序设计》第九周学习总结

    20155229 2016-2017-2 <Java程序设计>第九周学习总结 教材学习内容总结 第十六章 JDBC(Java DataBaseConnectivity)即java数据库连接 ...

  7. 20145213《Java程序设计》第九周学习总结

    20145213<Java程序设计>第九周学习总结 教材学习总结 "五一"假期过得太快,就像龙卷风.没有一点点防备,就与Java博客撞个满怀.在这个普天同庆的节日里,根 ...

  8. 21045308刘昊阳 《Java程序设计》第九周学习总结

    21045308刘昊阳 <Java程序设计>第九周学习总结 教材学习内容总结 第16章 整合数据库 16.1 JDBC入门 16.1.1 JDBC简介 数据库本身是个独立运行的应用程序 撰 ...

  9. 20145236 《Java程序设计》第九周学习总结

    20145236 <Java程序设计>第九周学习总结 教材学习内容总结 第十六章 整合数据库 JDBC简介 1.JDBC是java联机数据库的标准规范.它定义了一组标准类与接口,标准API ...

  10. 20155304田宜楠2006-2007-2 《Java程序设计》第一周学习总结

    20155304田宜楠2006-2007-2 <Java程序设计>第一周学习总结 教材学习内容总结 - 浏览教材,根据自己的理解每章提出一个问题 第一章 除了书上提到的开发工具还有什么适合 ...

随机推荐

  1. Mask R-CNN论文理解

    摘要: Mask RCNN可以看做是一个通用实例分割架构. Mask RCNN以Faster RCNN原型,增加了一个分支用于分割任务. Mask RCNN比Faster RCNN速度慢一些,达到了5 ...

  2. Android TableLayout中的使用说明

    TableLayout特点: 1)TableLayout和我们平时在网页上见到的Table有所不同,TableLayout没有边框的 2)它是由多个TableRow对象组成,每个TableRow可以有 ...

  3. 记录Vmware Workstation及Centos6.8 的安装

    网上找到的一个非常详细的安装详解.个人觉得非常好.于是加保存一下.地址:http://www.mamicode.com/info-detail-1462939.html

  4. 新视觉影院yy6080.org视频的抓取

    用fiddler 分析了一下, 从点连接 到 视频播放的过程 http://yy6080.org/v/103390 http://id.jiathis.com/id.php?u=http%3A%2F% ...

  5. golang martini 源码阅读笔记之inject

    martini是go语言写的一个超级轻量的web开源框架,具体源码可在github搜索找到.13年那会开始接触go语言时有稍微看过这个框架,由于之后没有继续使用go就慢慢忽略了,最近由于手头项目可能会 ...

  6. 『cs231n』作业3问题1选讲_通过代码理解RNN&图像标注训练

    一份不错的作业3资料(含答案) RNN神经元理解 单个RNN神经元行为 括号中表示的是维度 向前传播 def rnn_step_forward(x, prev_h, Wx, Wh, b): " ...

  7. Java容器——Map接口

    1.定义 Map用于保存存在映射关系<key, value>的数据.其中key值不能重复(使用equals()方法比较),value值可以重复. 2.常用实现类 HashMap:和Hash ...

  8. oracle11g在没DNS情况下failover的配置方法

    1.Oracle 11g引入scan ip ,可在没有DNS的情况下,客户端连接RAC配置failover时,很多情况还是使用oracle10g方式.即在客户端tnsname.ora中配置failov ...

  9. vue-cli的安装及使用

    一.    node 和npm 1.在安装vue-cli前,要确认自己的电脑是否安装了node和npm 2.查询版本如下(vue脚手架支持node@4.xx以上) node -v    查询node版 ...

  10. laravel 连接同一服务器上多个数据库操作 、 连接多个不同服务器上的不同数据库操作以及多个数据库操作的事务处理

    !注意:标红的要注意区分开 第一步.配置.env文件(同一服务器上多个数据库) DB_CONNECTION=pgsqlDB_HOST=IP(例如:127.0.0.1)DB_PORT=端口号(例如:54 ...