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. 《剑指offer》第三十二题(不分行从上往下打印二叉树)

    // 面试题32(一):不分行从上往下打印二叉树 // 题目:从上往下打印出二叉树的每个结点,同一层的结点按照从左到右的顺序打印. #include <iostream> #include ...

  2. 小橙书阅读指南(十三)——连通性算法(union-find)

    上一章我大概说明了什么是图论以及无向图的基础概念,本章我们要研究一种更普遍的算法——连通性算法.它属于图论的分支,也是一种抽象算法.在深入算法之前,我们先提出一个具体的问题:假设在空间中存在N个点,我 ...

  3. Codeforces 349B - Color the Fence

    349B - Color the Fence 贪心 代码: #include<iostream> #include<algorithm> #include<cstdio& ...

  4. Hibernate实例

    Hibernate实例 一.Hibernate简介 Hibernate是简化项目中连接数据库的一个框架工具 Hibernate是Java领域类技术成熟稳定的ORM框架 * ORM是对象关系映射 * 使 ...

  5. java中的static关键字 学习总结

    使用static关键字修饰的变量和方法为静态变量.静态方法. 非静态方法可以访问静态变量/方法和非静态变量/方法,但静态方法只能访问静态变量/方法. 可以看到在静态方法中调用非静态变量和非静态方法时, ...

  6. 12月8日 周五 image_tag.

    Overview of helpers provided by Action View 6.1 AssetTagHelper:用于generate html语言 image_tag ,return a ...

  7. Confluence 6 的高级 Crowd 设置

    启用嵌套用户组(Enable Nested Groups) 为嵌套组启用或禁用支持. 在启用嵌套用户组之前,你需要检查你在 Crowd 中定义的目录能够支持嵌套用户组.当嵌套用户组启用成功后,你可以将 ...

  8. Dubbo项目一段时间后提供者消失

    Dubbo项目用了一段时间后发现接口不通了,错误500 打开监控中心发现提供者不见了 查看下日志文件发现报如下错 2018-08-06 15:10:18,008 [localhost-startSto ...

  9. 常用Java字符API

  10. C++中的赋值运算符重载函数(operator=)

    MyStr& operator =(const MyStr& str)//赋值运算符 { cout << "operator =" << e ...