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. December 29th 2016 Week 53rd Thursday

    The true nobility is in being superior to your previous self. 真正的高贵在于超越过去的自己. It is really difficult ...

  2. [BZOJ 1124][POI 2008] 枪战 Maf

    1124: [POI2008]枪战Maf Time Limit: 10 Sec  Memory Limit: 162 MBSubmit: 659  Solved: 259[Submit][Status ...

  3. jquery ui tabs(选项卡)插件

    参考文档:http://www.css88.com/jquery-ui-api/tabs/ html代码: <div id="tabs"> <ul> < ...

  4. 对volatile不具有原子性的理解

    在阅读多线程书籍的时候,对volatile的原子性产生了疑问,问题类似于这篇文章所阐述的那样.经过一番思考给出自己的理解. 我们知道对于可见性,Java提供了volatile关键字来保证可见性.有序性 ...

  5. Centos7中yum安装MySQL

    安装mysql [root@localhost ~]# yum update [root@localhost ~]# cat /etc/redhat-release CentOS Linux rele ...

  6. BZOJ1334:[Baltic2008]Elect(背包DP)

    Description N个政党要组成一个联合内阁,每个党都有自己的席位数. 现在希望你找出一种方案,你选中的党的席位数要大于总数的一半,并且联合内阁的席位数越多越好. 对于一个联合内阁,如果某个政党 ...

  7. [TJOI2018]智力竞赛

    题目 发现我们需要最大化最小值,基本是二分了 那么我们二分出来一个值我们将小于等于这个值的都删去,现在的问题变成了如何用\(n+1\)条路径覆盖这张图 这不最小路径覆盖吗 于是我就忘了最小路径覆盖怎么 ...

  8. 4、Android-数据存储方案(SQLite数据库存储)

    4.4.SQLite数据库存储 这是Android内置的数据库 是一款轻量级的关系型数据库 运算速度非常快.占用资源少.通常只需要几百kb的内存就够了 因而特别适合在移动端设备上使用 SQLite不仅 ...

  9. 关于Oracle的认识

    一.Oracle认识: 1.安装时的全局数据库Orcl可以使用吗?可以的 2.Oracle相关服务: 3.数据库与用户,表空间的关系“ 4.切换数据库 5.关于命令:sqlplus 6\

  10. Xcode 提交APP时遇到 “has one iOS Distribution certificate but its private key is not installed”

    解决办法:登录Apple开发证书后台,把发布版证书.cer文件下载到本地,双击安装即可.若还没有设置发布证书文件,则创建一个后下载. Ref: https://blog.csdn.net/dingqk ...