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. 列表:List<T>与HashSet和只读集合

    一.概述 List<T> 是ArrayList类的等效泛型类.属System.Collections.Generic命名空间. 二.声明及初始化 1.List<T> mList ...

  2. [T-ARA][Cry Cry]

    歌词来源: Cry Cry:http://music.163.com/#/song?id=22704434 Cry Cry (Ballad Ver.):http://music.163.com/#/s ...

  3. java简单的工厂模式

    定义:专门定义一个类来创建其他类的实例,被创建的实例通常都具有共同的父类和接口.意图:提供一个类由它负责根据一定的条件创建某一及具体类的实例 //简单工厂,存在不符合开闭原则的地方,可以在参考抽象工厂 ...

  4. Linux的CPU相关知识

    超线程和多线程的区别? 超线程从硬件层面理解,即一个CPU的部件(可以理解为核)同时执行多条指令,表现就是同时执行多个线程.多线程是软件层面的概念,比如CPU只有一个核,通过线程调度可以在一个时间段内 ...

  5. Linux的图形模式和文本模式以及单用户模式切换

    1.默认开机进入文本模式 如果想让开机自动进纯文本模式, 修改/etc/inittab 找到其中的 id:5:initdefault: 这行指示启动时的运行级是5,也就是图形模式 改成3就是文本模式了 ...

  6. ajax获取json形式得题目和答案 实现答题功能

    <!DOCTYPE html> <html> <head lang="en"> <meta charset="UTF-8&quo ...

  7. Nginx学习.md

    正常运行的必备配置 user Syntax: user user [group]; Default: user nobody nobody; Context: main 指定运行worker进程的用户 ...

  8. mysql 数据增删改查基本语句

    增: insert insert into 表名(字段1,字段2,字段3......字段N) values(值1,值2,值3): 如果不申明插入那些字段,则默认所有字段. 如果一次可以插入多条数据 可 ...

  9. HDU 1198 Farm Irrigation(并查集,自己构造连通条件或者dfs)

    Farm Irrigation Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 65536/32768 K (Java/Others)T ...

  10. Gradle Goodness: Add Incremental Build Support to Tasks

    Gradle has a very powerful incremental build feature. This means Gradle will not execute a task unle ...