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. Undirected Graphs

    无向图 Introduction 图是由边连接的点的集合,有着广泛的应用空间. 一些图的术语,点,边,路径,环(圈),连通分量(子图). 简单路径不重复经过点,简单环不含有重复点和边,简单图不含自环和 ...

  2. 对1001. A+B Format (20)的描述

    Github仓库的链接 https://github.com/deepYY/object-oriented/blob/master/A-B-Format/A.B.Format.c 解题思路: 输入a, ...

  3. 如何把GitHub中的开源项目导入到Eclipse

    准备: 1.需要注册GitHub的账号,并找到自己想导入的项目 2.在Eclipse的help-->Marketplace中搜索egit插件,然后安装 操作步骤: 1.有三种导入方式HTTP.S ...

  4. android--简单的电话拨号功能

    方法一. 1.创建一个callphone项目 2.在string.xml文件中添加text名称的配置

  5. 让IE6、7、8兼容@media属性

    通常做页面适配的时候,经常会用到@media属性,对不同屏幕范围内的元素设置不同的样式.但是@media属性不兼容IE8及IE8以下的浏览器 解决方法: 直接在页面中引入respond.src.js即 ...

  6. wireshark:no interface can be used for capturing in this system with the current configuration

    在虚拟机unbuntu中,进行wireshark抓包,出现:no interface can be used for capturing in this system with the current ...

  7. C# winform 数据库操作知识点总结(干货)

    1.数据库连接及操作 在说数据库操作之前,先说一下数据库连接操作字符串的获取 首先,点击服务器资源管理器,接下来选中数据连接右键点击添加连接,填入你要连接的服务器名称,点击单选框使用SQL Serve ...

  8. vue2.* 双向数据绑定 Vue事件介绍 以及Vue中的ref获取dom节点 04

    <template> <div id="app"> <!-- 双向数据绑定(必须在表单里面使用) m:model v:view mvvm:model改 ...

  9. 初始化列表initializer_list

    初始化列表定义在<initializer_list>,初始化列表简化了参数数量可变的函数的编写,初始化列表的所有的元素都应该是同一种数据类型 由于定义了列表中允许的类型,所以初始化列表是安 ...

  10. [转]TortoiseSVN客户端的安装

    TortoiseSVN是windows平台下Subversion的免费开源客户端. 一般我们都是先讲讲服务器的配置,然后再讲客户端的使用,但是在TortoiseSVN上,却可以反过来.因为,如果你的要 ...