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. python源码学习(一)——python的总体架构

    python源码学习(一)——python的总体架构 学习环境: 系统:ubuntu 12.04 STLpython版本:2.7既然要学习python的源码,首先我们要在电脑上安装python并且下载 ...

  2. 把bootstrap4 dropdown 的导航下拉菜单触发方式改为鼠标浮动触发

    方法1: 原文: https://zzll.org/article/bootstrap4-xialacaidan 很简单,css中加入如下代码 .dropdown:hover>.dropdown ...

  3. 如何高效的写出markdown笔记

    重置用户名和密码 安利一个小工具donet-cnblog可以同步图片到cnblog中,同时生成对应的Markdown笔记.写博客的时候我们可以本地写,用这个工具同步到cnblog上能够大大节省我们的时 ...

  4. 4、Web Service-Jaxws(Eclipse版本)实现查看天气和手机归属地

    1.前提概要 免费的官网:http://www.webxml.com.cn/zh_cn/web_services.aspx 官网提供了各种免费的webservice 我们使用的是:http://ws. ...

  5. Git创建本地分支并关联远程分支

    创建本地分支git branch 分支名 例如:git branch dev,这条命令是基于当前分支创建的本地分支,假设当前分支是master(远程分支),则是基于master分支创建的本地分支dev ...

  6. Java I/O系列(一)InputStream与OutputStream源码分析及理解

    1. InputStream 定义 字节输入流,是一个抽象类,核心是通过read()方法,从数据源中读取一个个字节出来,另有skip,mark功能 核心源码理解 源码: public abstract ...

  7. java 网站源码 六套模版 兼容手机平板PC freemaker 静态引擎 在线编辑模版

    官网 http://www.fhadmin.org/ 系统介绍: 1.网站后台采用主流的 SSM 框架 jsp JSTL,网站后台采用freemaker静态化模版引擎生成html 2.因为是生成的ht ...

  8. Java-链表(单向链表、双向链表)

    Java-链表 1.什么是链表? 2.链表的特点是什么? 3.链表的实现原理? 4.如何自己写出一个链表? 1.什么是链表? 链表是一种物理存储单元上非连续.非顺序的存储结构,数据元素的逻辑顺序是通过 ...

  9. leyer不写content参数直接传递给子页面数据

    function btnAddClickownfund(){ //获取数据 var actual = $("#actual_capitals").html().trim(); // ...

  10. A - Chess Placing CodeForces - 985A

    You are given a chessboard of size 1 × n. It is guaranteed that n is even. The chessboard is painted ...