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. Java遇到的问题、错误——持续更新

    内容:dead code.关于eclipse没有js代码提示的解决 持续更新 ######################################################## dead ...

  2. Linux系统之路——如何在服务器用U盘安装CentOS7.2(一)

    终于将CentOS7装上服务器(thinkserver250,不得不说联想的太烂了)了,过程无比艰辛,因为我发现网上大家提到的所有U盘安装CentOS7时碰到的问题几乎都被我碰到了,像什么: 1.刻录 ...

  3. 从getshell到提权

    从getshell到提权 一.起因 学校推出新的党建系统,之前党建系统还参与开发,后来因为一些原因没有开发,主要想看看这届工作室的学弟.学妹代码水平,把源码撸下来审计一下,工作室用git开发的,记着上 ...

  4. 25、springboot与缓存整合Redis

    默认使用ConcurrentMapCacheManager 将数据保存在下面的Map中 docker: 安装Redis: 查看官方文档: 添加约束 <dependency> <gro ...

  5. LayIM.AspNetCore Middleware 开发日记(七)Asp.Net.Core.SignalR闪亮登场

    前言   前几篇介绍了整个中间件的构成,路由,基本配置等等.基本上没有涉及到通讯部分.不过已经实现了融云的通讯功能,由于是第三方的就不在单独去写.正好.NET Core SignalR已经出来好久了, ...

  6. Android性能监控

    Android性能监控 一.搭建Android性能测试环境,参见<Android性能测试之Monkey使用>中内容. 二.启动Android虚拟机,可以通过eclipse启动,也可以通过命 ...

  7. Loadrunner手动关联详解

    Loadrunner手动关联详解 一.关联的含义: 关联(correlation):在脚本回放过程中,客户端发出请求,通过关联函数所定义的左右边界值(也就是关联规则),在服务器所响应的内容中查找,得到 ...

  8. 安装及使用supervisor

    用途有一个进程需要每时每刻不断的跑,但是这个进程又有可能由于各种原因有可能中断.当进程中断的时候,希望能自动重新启动它.此时,我就需要使用到了Supervisor. 前言supervisor管理的进程 ...

  9. 关于换行这个动作,win 和 mac 的实现

    ‘\r'是回车,前者使光标到行首,(carriage return)'\n'是换行,后者使光标下移一格,(line feed) \r 是回车,return\n 是换行,newline 对于换行这个动作 ...

  10. OpenID Connect Core 1.0(五)使用授权码流验证(下)

    3.1.2.6 验证错误响应(Authentication Error Response) 验证错误响应是一个OAuth 2.0授权错误响应消息,是RP发送授权请求的消息,由OP授权终结点的响应返回. ...