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. /var/run/dbus/system_bus_socket no such file or directory

    参考:http://fixmyos.blogspot.jp/2011/10/failed-to-connect-to-socket.html /var/run/dbus/system_bus_sock ...

  2. 区间数字的按位与 Bitwise AND of Numbers Range

    2018-08-13 22:50:51 问题描述: 问题求解: 首先如果m 和 n不相等,那么必然会有至少一对奇偶数,那么必然末尾是0. 之后需要将m 和 n将右移一位,直到m 和 n相等. 本质上, ...

  3. Java JDK5新特性-泛型

    2017-10-30 22:47:11 Java 泛型(generics)是 JDK 5 中引入的一个新特性, 泛型提供了编译时类型安全检测机制,该机制允许程序员在编译时检测到非法的类型. 泛型的本质 ...

  4. Maven常用dependency记录

    1.servlet配置 <dependency> <groupId>junit</groupId> <artifactId>junit</arti ...

  5. English trip -- Phonics 4 元音字母 i

    IPA   国际音标(英语:International Phonetic Alphabet [ælfəbet],缩写:IPA),早期又称万国音标 VOWELS [ɪ]   [u]   [ʌ]   [ɒ ...

  6. codeforces 516c// Drazil and Park// Codeforces Round #292(Div. 1)

    题意:一个圆环上有树,猴子上下其中一棵树,再沿着换跑,再上下另一棵树.给出一个区间,问最大的运动距离是. 给出区间大小dst,和数高数组arr. 设区间[x,y],a[x]=2*arr[x]+dst[ ...

  7. Confluence 6 为 Active Directory 配置一个 SSL 连接预要求

    希望生成证书,你需要安装下面的组件在你希望连接的 Windows Domain Controller 上. Internet Information Services (IIS) 在你安装 Windo ...

  8. Nikita and stack CodeForces - 756C (栈,线段树二分)

    大意: 给定m个栈操作push(x)或pop(), 栈空时pop()无作用, 每个操作有执行的时间$t$, 对于每个$0 \le i \le m$, 输出[1,i]的栈操作按时间顺序执行后栈顶元素. ...

  9. Java字符串 API

    常用API

  10. hdu1864(01包)

    最大报销额 Time Limit: 1000/1000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Others)Total Submi ...