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

教材学习内容总结

第六章

  • 继承,避免多个类间重复定义共同行为。子类继承父类,再扩充(extends)其他行为。
  • 多态和is-a
  • Cast:扮演。编译程序住嘴语法。
  • 重新定义:(操作接口相同,方法操作内容不同)
  • protected
  • final
  • 父类中可以重载多个构造函数,如果子类构造函数中没有指定执行父类中哪个构造函数,默认会调用父类中无参数构造函数。如果想执行父类中的某个构造函数,可以用super()来指定。this()与super()只能选择一个调用,而且一定要在构造函数第一行执行。
    例如:运行结果1

第七章

  • 接口
  • 定义行为:interface,如接口中的方法可声明为public abstract。接口中的方法没有操作时一定得是公开且抽象的。也可以省略public abstract。
  • 操作接口:implements
  • 枚举常数:public static final
  • 类可以操作两个以上的类,接口可以继承别的接口。
  • 在接口中可以定义常数,但只能定义public static final的常数,在程序中可以省略。

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

第六章

  • 1问题:JVM的垃圾收集机制是如何运行的?
  • 回答:编程中操作内存是很关键的,在C/C++语言当中,划出的内存,使用结束以后都需要释放掉,说直白一点,内存就是一亩地,划出一小块地方来种玉米,玉米收割以后,得把地还回去,让别人来种地。但是在编C++的时候,还地的时候很关键,就是内存什么时候用完了,不再需要了,这个时机不好判断,不能还没用完就释放,当然也不能释放两次,这个对编程功底和指针的使用要比较熟练。在Java中,当没有对象引用指向原先分配给某个对象的内存时,该内存便成为垃圾。什么时候去收这个垃圾,不需要程
    序员来做,有了Java垃圾回收机制,不再需要的对象占用的内存空进会自动被回收。Java语言消除了程序员回收无用内存空间的责任;它提供一种系统级线程跟踪存储空间的分配情况。在JVM空闲时,检查并释放那些可被释放的空间。当然,C++的空闲内存回收时机是一空闲下来基本上马上就会被回收(依赖程序员水平),但是Java垃圾回收机制还没有那么智能,它并不是在一个对象成为无用对象以后立马就去回收它所占用的空间,而是隔一定时间,统一检查空闲内存,并且回收释放。总之Java垃圾回收是减轻程序员负担,提升编程效率的一种方式。

参考资料:
JAVA虚拟机(JVM)和垃圾收集机制是什么

第七章

  • 问题1: 什么是实例化?
  • 回答:在面向对象的编程中,通常把用类创建对象的过程称为实例化。

  • 问题2:@Override是什么意思?我在第七章的Fish程序编写上第一次看到了这个语句,一时没有在书上看见解释,
  • 答案:我在第七章的Fish程序编写上第一次看到了这个语句,一时没有在书上看见解释,然后就上网查了一下。@Override简单理解就是这个句话下边的方法是继承父类的方法,告诉你说下面这个方法是从父类/接口 继承过来的,需要你重写一次,这样就可以方便你阅读,也不怕会忘记。
    Java中@Override的作用

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

  • 1问题:我在编写第六章的RPG程序时,出现编译错误。

  • 1解决方案:在关于类的程序中,每一个继承关系都不是孤立的,所以要想引用一个子类,必须保证之前的子类定义文件名称一致。我就是犯了这个错误。在修改之后就编译正常并运行成功了。

代码托管

  • 代码提交过程截图:

  • 代码量截图:

上周考试错题总结

  • 1.填空:Linux Bash中,(grep )命令可以进行全文搜索。

grep与find的区别
Linux find和grep的区别

  • 4.填空:System.out.println(“”+52+25);的结果是(5225)
  • 5.填空:System.out.println(52+25+””);的结果是(77)

  • 数据类型的强弱。
    ""是String类型,比数字类型强。两者相加会自动转换成String类型

    按顺序相加
    1. “”+52=“52”(这是String),“52”+25=“5225”
    2. 52+25=77(数字),77+“”=“77”(被转成了String类型)

  • 12.CH04 填空:两个Integer对象比较大小,可以使用(comareTo())方法

不够熟悉

  • 14.CH04 填空:Java中的多维数组都是由(一维数组组成)。

概念不够熟悉

  • 18.CH04 填空: p109 Average.java 求1,2,3,4,5的平均值的命令是(java cc.openhome.Average 1 2 3 4 5)

错误理解题意,误以为是填写程序语句

  • 19.CH04 填空:“30”转化为byte类型的30的语句是(Byte.parseByte(“30”);)。

parseByte方法将string参数解析为有符号的十进制byte。除了第一个字符可以是表示负值的ASCII负号'-' ('\u002D')之外,该字符串中的字符必须都是十进制数字。

  • 26.CH05 填空:调用p145 sum函数计算1+2+3+4+5的代码是(MathTool.sum(1,2,3,4,5))

可以直接输入1,2,3,4,5,不需要定义数组。

  • 29.CH05 填空:Java中成员方法中引用成员变量,要使用(this)关键字。

课本概念不熟悉

  • 30.CH05 填空:Java中方法参数只用(传值)调用。

课本概念不熟悉

  • 31.CH05 填空:被声明为(static)的成员,不属于某个对象,而是属于类。

课本概念不熟悉

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

感觉这周虽然也是学两章,但是学的比上周好一些了,慢慢开始适应这种进度。

学习进度条

代码行数(新增/累积) 博客量(新增/累积) 学习时间(新增/累积) 重要成长
目标 5000行 30篇 400小时
第一周 20/20 2/2 18/20
第二周 156/200 2/4 20/24
第三周 527/600 3/7 22/30
第四周 388/915 4/7 25/30

参考资料

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

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

    20155306 2016-2017-2 <Java程序设计>第九周学习总结 教材学习内容总结 第十六章 整合数据库 16.1 JDBC入门 Java语言访问数据库的一种规范,是一套API ...

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

    20155236 2016-2017-2 <Java程序设计>第九周学习总结 教材学习内容总结 JDBC入门 1.JDBC简介 JDBC是用于执行SQL的解决方案,开发人员使用JDBC的标 ...

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

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

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

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

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

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

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

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

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

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

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

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

  9. 20145337 《Java程序设计》第二周学习总结

    20145337 <Java程序设计>第二周学习总结 教材学习内容总结 Java可分基本类型与类类型: 基本类型分整数(short.int.long).字节(byte).浮点数(float ...

  10. 20145218《Java程序设计》第一周学习总结

    20145218 <Java程序设计>第一周学习总结 教材学习内容总结 今天下午看了Java学习的视频,感觉很是新奇,之前觉得Java学起来是艰难枯燥的,但通过第一章的学习觉得如果自己可以 ...

随机推荐

  1. loadrunner测试c/s架构的应用系统

    用LoadRunner测试c/s架构的软件,怎样去选择协议,困扰了我很久,看到这篇文章,感觉有点收获,所以特意转了过来,希望对大家有用. 首先,什么是协议?协议无非就是一个约定,关于数据包发送的格式的 ...

  2. Oracle与EntityFramework(EF)的一些事情

    概要 Oracle 和EF 一起用的时候总会有各种问题,这里总结一下解决办法. 模式 Schema 用过Oracle的人应该知道,其实Oracle的用户名一般就是它的模式名称,如果你在用databas ...

  3. redis下的adlist

    //adlist.h #ifndef __ADLIST__H__ #define __ADLIST__H__ typedef struct listNode_ { struct listNode_ * ...

  4. Python语言特性

    1 Python的函数参数传递 看两个例子: a = 1 def fun(a): a = 2 fun(a) print a # 1 a = [] def fun(a): a.append(1) fun ...

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

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

  6. JAVA Color类

    Color类用于定义颜色,java.awt.Color中提供了13个预定义的常量用来表示13中标准颜色,分别是: public static final Color white白色. public s ...

  7. CF712D Memory and Scores

    题目分析 实际上两个人轮流取十分鸡肋,可以看作一个人取2t次. 考虑生成函数. 为了方便,我们对取的数向右偏移k位. 取2t次的生成函数为: \[ F(x)=(\sum_{i=0}^{2k}x_i)^ ...

  8. 使用loader打包静态文件-样式2

    这篇我们了解下css-loader常用的配置项,要配置的话,use里面就不再是一个字符串了 // 打包模块不知道该怎么办,就去模块配置里面该怎么办 module: { // 规则 rules: [{ ...

  9. virtualbox+vagrant学习-5-Boxes-2-Box Versioning

    Box Versioning 从Vagrant 1.5版本开始, box支持版本控制.这允许创建box的人将更新推送到box中,使用box的人有一个简单的工作流,用于检查更新.更新box以及查看发生了 ...

  10. 人人开源之renren-security

    renren-security,从这周开始我将要对其比较详细的研究,之前的研究只不过是比较浅的.正如在这篇文章读读<编写高质量代码:改善Java程序的151条建议>中说过不要重复造轮子. ...