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

教材学习内容总结

本周的学习内容为课本第六章与第七章:

  • 第六章主要讲继承和多态。首先是我们为什么要学习继承和多态,书本上讲解的很清楚:就是要避免复杂的定义行为,使程序更加简洁可维护。继承方面主要注意extends语句,了解继承就是对于父类的一种扩充、protected成员、构造函数、final关键字等。多态就是使用单一接口操作多种类型的对象,主要要了解什么是“is-a”的关系,即A是一种B。
  • 第七章主要讲接口和多态。这里书本向我们强调了接口和继承的不同之处:继承是唯一的,而解控是可以被所有东西所拥有的,向我们介绍了interface关键字,以及一些接口相关的语法细节。这一章的多态侧重行为上的多态。

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

  • 问题:在学习重新定义行为的时候,不是很理解为什么要在子类中定义,而不是在父类中直接定义,这样不会方便很多?
  • 解决:看了看书上6.6和6.7的图,用了一下联想法,感觉可以把它理解为在父类中定义一个“种子”,在不同的子类中“种子”长出的果实不一样,所以需要在子类中定义不同的“果实”。
  • 问题:这个问题还是理解上的,就是如何理解接口的拥有行为?
  • 解决:我还是比较喜欢找一个生活中的实例去理解这些抽象概念,在网上找到一篇猴子与狗的比喻感到很有趣。这个其实就是解决了继承从下至上只能单向的问题,但是我还有一个问题,既然接口用途广泛,为什么不淘汰接口这种用法呢?

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

  • 问题:有关于ln和f的格式问题

  • 解决方案:上网搜索,改动了ln中的+i,因为ln不能使用格式控制符号。
  • 问题:找不到类

  • 解决方案:在根目录中改变classpath

代码托管

上周考试错题总结

  • 错题:1. 填空:Linux Bash中,(grep )命令可以进行全文搜索。
    原因:没有记牢。
  • 错题:2. 填空:~0b1010的十进制值是(-11)
    原因:我理解为按位取反了。
  • 错题:9. CH04 判断:p86 Guess.java中guess的值无法输入12。(X)
    原因:是可以输入的,只是程序只能生成0~9,我把它理解为只能输入0~9了。
  • 错题:10. CH04 填空: p88 DecimalDemo2.java中 operand-openrand2的值是0.2。(X)
    原因:我开始没有多想就直接写对了,但是后面看书发现因为Java的浮点运算机制不同所以输出的不是0.2.

其他

随着学习的越来越深入,我感觉一些知识在理解上有一定难度,学习中就会遇到一种困扰:与之前学习的知识接不上。或者说要一定的时间去消化理解,这让我很困扰。也许是因为巧合,找到了一本书《 learn more , study less》,这本书所提到的联想法对于这种成体系的抽象知识具有很好的理解效果,我练习了半个小时,感觉确实理解上有帮助,并且能够快速的将过去的知识给它串联在一起。

学习进度条

代码行数(新增/累积) 博客量(新增/累积) 学习时间(新增/累积) 重要成长
目标 5000行 15篇 400小时
第一周 4/4 1/1 10/10
第二周 20/24 1/2 9/19
第三周 80/104 1/3 10/29
第四周 343/ 447 1/4 15/44
  • 计划学习时间:20小时

  • 实际学习时间:15小时

  • 改进情况:学习时间增加,代码量增加四倍。

参考资料

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

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

    20155322 2016-2017-2 <Java程序设计> 第一周学习总结 教材学习内容总结 本周学习内容的主要是: 一.浏览教材,根据自己的理解每章提出一个问题. 在浏览教材后,我提 ...

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

    20155220 2016-2017-2<Java程序设计>第九周学习总结 教材学习内容总结 JDBC(Java DataBase Connectivity)即java数据库连接,是一种用 ...

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

    20155211 2016-2017-2 <Java程序设计>第九周学习总结 教材学习内容总结 第十六章 整合数据库 一.JDBC入门 (一)JDBC简介 厂商在操作JDBC驱动程序时,依 ...

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

    20155313 2016-2017-2 <Java程序设计>第九周学习总结 教材学习内容总结 第16章 JDBC(Java DataBase Connectivity)即java数据库连 ...

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

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

  6. 20145213《Java程序设计》第二周学习总结

    20145213<Java程序设计>第二周学习总结 教材学习内容总结 本周娄老师给的任务是学习教材的第三章--基础语法.其实我觉得还蛮轻松的,因为在翻开厚重的书本,一股熟悉的气息扑面而来, ...

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

    20145213<Java程序设计>第一周学习总结 教材学习内容总结 期待了一个寒假,终于见识到了神秘的娄老师和他的Java课.虽说算不上金风玉露一相逢,没有胜却人间无数也是情理之中,但娄 ...

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

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

  9. 20145330孙文馨 《Java程序设计》第一周学习总结

    20145330孙文馨 <Java程序设计>第一周学习总结 教材学习内容总结 刚开始拿到这么厚一本书说没有压力是不可能的,开始从头看觉得很陌生进入不了状态,就稍微会有一点焦虑的感觉.于是就 ...

  10. 20145337 《Java程序设计》第九周学习总结

    20145337 <Java程序设计>第九周学习总结 教材学习内容总结 数据库本身是个独立运行的应用程序 撰写应用程序是利用通信协议对数据库进行指令交换,以进行数据的增删查找 JDBC可以 ...

随机推荐

  1. Kali Nethunter初体验

    1.官网环境要求:n5 n7 n10 android 4.4 2.实验设备: N7 android 4.4.4 N7 android 4.4.3 N5 nadroid 4.4.2 3.开发者模式+us ...

  2. Java基础知识强化之集合框架笔记76:ConcurrentHashMap之 ConcurrentHashMap简介

    1. ConcurrentHashMap简介: ConcurrentHashMap是一个线程安全的Hash Table,它的主要功能是提供了一组和Hashtable功能相同但是线程安全的方法.Conc ...

  3. ARM汇编之MOV指令

    http://blog.csdn.net/lsywk/article/details/8799837 一.指令格式 MOV{条件}{S}  目的寄存器,源操作数 二.指令详解 MOV指令可完成从另一个 ...

  4. [CQOI2006]凸多边形(半平面相交)

    嘟嘟嘟 本来我要写feng shui这道题的.然后网上都说什么半平面相交,于是我还得现学这个东西,就来刷这道模板题了. 所谓的半平面相交和高中数学的分数规划特别像.比如这道题,把每一条边看成一条有向直 ...

  5. 面经:C++篇(持续更新)

    一. 左值和右值 L-value中的L指的是Location,表示可寻址.Avalue (computer science)that has an address. R-value中的R指的是Read ...

  6. ssrf绕过记录

    第一道题来自2018 上海市大学生网络安全大赛线上赛web01 if(isset($_POST['url']) && parse_url($_POST['url'])['host']= ...

  7. 2019.3.6 Github学习 &Git学习

    Github学习 1.使用Github 1.1 目的 借助github托管项目代码 1.2 基本概念 仓库(Repository) 仓库的意思是:即你的项目,你想在Github上开源一个项目,那就必须 ...

  8. Spring(六)之自动装配

    一.自动装配模型 下面是自动连接模式,可以用来指示Spring容器使用自动连接进行依赖注入.您可以使用元素的autowire属性为bean定义指定autowire模式. 可以使用 byType 或者  ...

  9. Go并发与.Net TAP

    Go package main import "fmt" func sum(arrays []int, ch chan int) { fmt.Println(arrays) sum ...

  10. PAT——1022. D进制的A+B

    输入两个非负10进制整数A和B(<=230-1),输出A+B的D (1 < D <= 10)进制数. 输入格式: 输入在一行中依次给出3个整数A.B和D. 输出格式: 输出A+B的D ...