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

教材学习内容总结

第六章:

  • 继承:子类继承父类,避免重复的行为定义。
  • extends关键词:继承并扩充行为。
  • (is-a)原则:判断何时编译成功。
  • 多态:使用单一接口操作多种类型的对象。
  • 重新定义:在继承父类后,定义与父类中相同的方法部署,但执行的内容不同。
  • abstract如果某方法区块中真的没有任何程序代码操作,可用abstract标识该方法为抽象方法。
  • 内含抽象方法的类,一定要在class前标示abstract
  • 子类继承抽象类,对抽象方法的两种做法:1)继续标示该方法为abstract;2)操作抽象方法。
  • 执行父类中某构造函数用super()指定。
  • 如果没用重新定义equals(),使用equal()方法时,等同于==。
  • 操作equals()时通常也会操作hashCode()。

第七章:

  • 类要操作接口,必须使用implements关键词。
  • 程序的可维护性、弹性:增加新的需求,原有的程序无需修改,只需针对新需求撰写程序。
  • 枚举常数让程序撰写清晰。
  • 接口可以继承别的接口,也可以同时继承两个以上的接口,同于也是使用extends关键字,代表了继承父接口的行为。
  • 要在匿名内部类中存取局部变量,则该局部变量必须是final。
  • enum可以定义枚举常数。

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

  • java.lang.Object的使用:
  • 自定义的ArrayList类,内部使用Object数组来收集对象,每一次收集的对象会放在next指定的索引处,在创建ArrayList实例时,可以指定内部数组初始容量,如果使用无参数构造函数,则默认容量为16。
  • 什么叫多态?
  • 以抽象讲法解释,就是使用单一接口操作多种类型的对象。
  • java.util.ArrayList使用问题:
  • 可以让你进行对象收集。

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

  • 对于课本例子出现的一组程序,出现编译错误:
  • 尝试将他们打包在一个文件夹内,按照次序依次javac,最后java主程序.
  • 对于各种关键词不能正确的使用:
  • 正在对他们进行总结归纳,区分用法。

代码托管

  • 代码提交过程截图:

    • 运行 git log --pretty=format:"%h - %an, %cd : %s" 并截图
  • 代码量截图:

    • 运行 find src -name "*.java" | xargs cat | grep -v ^$ | wc -l 并截图

上周考试错题总结

  • 填空:LinuxBash中,(grep)命令可以进行全文搜索。
  • 判断:doubled=0.1+0.1+0.1,System.out.println(i);的结果是0.3. (X)
  • 填空:System.out.println(“”+52+25);的结果是(5225)
  • 判断:p86Guess.java中guess的值无法输入12。(X)
  • 判断:Java中,=与==并没有在基本类型和类类型的不同。(OK)
  • 填空:Java中的多维数组都是由(一维数组组成)。
  • 填空:“30”转化为byte类型的30的语句是(Byte.parseByte(“30”);)。
  • 判断:public void someMethod(int i)和public int someMethod()是方法重载。(OK)
  • 填空:Java中类的成员变量必须进行初始化,否则会出语法错误。(X)
  • 填空:Java中方法参数只用(传值)调用。
  • 填空:被声明为(static)的成员,不属于某个对象,而是属于类。
  • 判断:Java中方法内可以定义类。(OK)

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

  • 这周的考试成绩不是很理想,归其原因是因为自己的复习不够扎实,没能仔细认真的完成四、五章的学习。
  • 其次就是自从学到第四章之后,感觉学习量也上去了,学习任务开始变得繁杂了,Java学习也正式进入了学习之中,如果前面的基础知识还可以靠C补足,那么接下来的学习则完全进入了一个全新的领域,函数的调用、封装、打包等等,以及各种Java的优化,如何编写更加成熟的程序也是要求去掌握的。

学习进度条

代码行数(新增/累积) 博客量(新增/累积) 学习时间(新增/累积) 重要成长
目标 5000行 20篇 200小时
第一周 8/10 1/4 8/10 编写第一个Java程序HelloWorld
第二周 79/89 1/5 11/21 学习Java基础语法
第三周 249/338 1/6 16/37 学习Java关于对象的重要知识
第四周 331/669 1/7 17/54 学习Java关于继承、接口与多态的重要知识

尝试一下记录「计划学习时间」和「实际学习时间」,到期末看看能不能改进自己的计划能力。这个工作学习中很重要,也很有用。
耗时估计的公式
:Y=X+X/N ,Y=X-X/N,训练次数多了,X、Y就接近了。

参考:软件工程软件的估计为什么这么难软件工程 估计方法

参考资料

20155233 2006-2007-2 《Java程序设计》第4周学习总结的更多相关文章

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

    20155312 2016-2017-2 <Java程序设计>第九周学习总结 课堂内容总结 两个类有公用的东西放在父类里. 面向对象的三要素 封装 继承 多态:用父类声明引用,子类生成对象 ...

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

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

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

    20155313 2016-2017-2 <Java程序设计>第一周学习总结 教材学习内容总结 本周的Java学习进入了一个全新的阶段,对于我这样的并没有每天花费时间钻研的同学来说,最后几 ...

  4. 20145231 《Java程序设计》第一周学习总结

    20145231 <Java程序设计>第一周学习总结 教材学习内容总结 Java三大平台Java SE,Java EE,Java ME.其中,Java SE是我们学习的基础. Java S ...

  5. 20145238-荆玉茗 《Java程序设计》第一周学习总结

    20145238 <Java程序设计>第一周学习总结 教材学习内容总结 Java三大平台:由于java领域的应用越来越广,根据不同级别的应用开发区分了不同的应用版本,后正式更名为Java ...

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

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

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

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

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

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

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

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

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

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

随机推荐

  1. Linux基础入门 - 3

    第四节 Linux 目录结构及文件基本操作 4-1.Linux目录结构 Linux 的目录与 Windows 的目录的实现机制是完全不同的.一种不同是体现在目录与存储介质(磁盘,内存,DVD 等)的关 ...

  2. c++计算器后续(2)

    自娱自乐: 大概是了解了一下前缀.中缀.后缀表示法是啥,并没有去深究,比如考虑实现啊,然后Calculation类里面的计算方法还是选用原来的直接对中缀表达式求值,只是把代码改得规范点,以上. 各表示 ...

  3. zeromq 笔记

    一. 当执行zmq_bind后会进入mute state,直到有进入或者出去的连接发生才会进入ready state 在mute state状态下会根据不同的套接字类型决定是丢弃消息还是阻塞 可参考z ...

  4. D3——Updates, Transitions, and Motion

    <script type="text/javascript"> ; ; ; , , , , , , , , , ,, , , , , , , , , ]; //crea ...

  5. JavaScript的事件的处理函数(鼠标,键盘,HTML)

    事件处理函数概述 JavaScript 可以处理的事件类型为:鼠标事件.键盘事件.HTML 事件 所有的事件处理函数都会都有两个部分组成,on + 事件名称,例如 click 事件的事件处理函数就是: ...

  6. 【[SDOI2008]Sandy的卡片】

    被\(mhr\)的暴力干翻了 这道题做法还是非常好想的 先做一遍差分,在每个串的某尾插入一个特殊字符,再将所有的串拼接在一起 现在的问题就转化为找到一个最长的公共子串使得其出现了\(n\)次,但是在一 ...

  7. [转]墨卡托投影坐标系(Mercator Projection)原理及实现C代码

    墨卡托投影是一种“等角正切圆柱投影”,荷兰地图学家墨卡托(Mercator)在1569年拟定:假设地球被围在一个中空的圆柱里,其赤道与圆柱相接触,然后再假想地球中心有一盏灯,把球面上的图形投影到圆柱体 ...

  8. 如何利用java程序实现加密所需的公钥、密钥、数字证书

    本篇的主要目的在于实现pdf的数字签名问题,只是作为我学习知识的总结. 1.数字签名算法的概述 本部分主要参考于:https://blog.csdn.net/lovelichao12/article/ ...

  9. CC2540 低功耗串口, POWER_SAVING 模式 下 串口 0 的使用

    低功耗 模式 下 使用 串口 ,  因为 PM2 或者 PM3 状态下  32M晶振 是不工作 的,根据手册得知没有32M晶振, 串口是不能工作的,但是可以使用 外部中断,因此,我把  串口的接收引脚 ...

  10. MongoDB常用指令

    db 查看当前操作的数据库 show dbs 显示所有数据库 show collections 显示当前数据库下的所有集合 use database_name 连接到一个名叫[database_nam ...