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

教材学习内容总结

第六章:

  • extends:继承某个类,继承之后可以使用父类的方法,也可以重写父类的方法,只要那个类不是声明为final或者那个类定义为abstract的就能继承。

  • JAVA中不支持多重继承,但是可以用接口来实现,这样就要用到implements,继承只能继承一个类,但implements可以实现多个接口,用逗号分开就行。

    eg.class A extends B implements C,D,E

  • 子类与父类之间有is-a的关系。

  • 继承父类之后,定义与父类中相同的方法部署,但执行内容不同,这称为重新定义。

  • 内建的标准标注:@Override 表示要求编译程序检查

  • 内含抽象方法的类,一定要在class前标示abstract

  • 子类继承抽象类:①继续标示该方法为abstract;②操作抽象方法。

  • 权限关键字与范围

权限从小至大:private、无关键字、protected、public

  • public、protected、pricate三者区别

  • 取得父类中的方法定义,调用前加上super关键字,但是父类不能为private,this和super只能调用,一定要在构造函数第一行执行。

  • final:表示不会再有子类,不能被继承。

  • java.lang.Object是所有类的顶层父类

第七章:

  • 接口可以用于定义行为但不定义操作

  • inferface定义抽象行为与外观,接口中的方法可声明为public abstract,接口中的方法没有操作时,public abstract可以省略。

  • enum定义枚举常数。实际定义特殊的类,继承自java.lang.Enum

JDB知识点:

  • stop in 用来设置方法断点,stop at 设置行断点

  • 学习(JDB)调试我们要学会设置四种断点:方法断点、行断点、条件断点、临时断点

命令 作用
run 开始调试
next 执行下一个语句
locals 查看局部变量
step 进入方法,进入函数跟踪
dump 查看对象的值
where all 告诉所有线程的当前运行位置
list 当前运行的代码
quit/exit 退出JDB

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

  • 问题一:this()和super()的区别

  • 解决: super表示父类的意思,是离super最近的一个父类。this变量代表对象本身。

两者引用构造函数时:①super:调用父类中的某一个构造函数

②this:调用本类中另一种形成的构造函数

eg.super:

class Some {
Some() {
System.out.println("调用Some()");
} Some(int i) {
System.out.println("调用Some(int i)");
}
} class Other extends Some {
Other() {
System.out.println("调用Other()");
} Other(int i) {
super(i);
}
}
  • 问题二:操作equals()实际上是操作equals()也操作hashCode()???

  • 解决:hashCode是jdk根据对象的地址或者字符串或者数字算出来的int类型的数值。

①如果根据 equals(Object)方法,两个对象是相等的,那么对这两个对象中的每个对象调用 hashCode 方法都必须生成相同的整数结果。

如果两个hashCode()返回的结果相等,则两个对象的equals方法不一定相等。

②如果根据equals(java.lang.Object)方法,两个对象不相等,那么对这两个对象中的任一对象上调用 hashCode 方法不一定生成不同的整数结果。

  • 问题三:abstract方法和abstract类

  • 解决:abstract 不可以和static、virtual、final、native一起使用

抽象类和抽象方法的关系:含有抽象方法的类一定是抽象类,抽象类里不一定含有抽象方法。

1:用abstract修饰的类表示抽象类,抽象类位于继承树的抽象层,抽象类不能被实例化。

2:用abstract修饰的方法表示抽象方法,抽象方法没有方法体。抽象方法用来描述系统具有什么功能,但不提供具体的实现。

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

  • 问题一:按照书上的代码,出现的问题和上周一样,类中找不到符号和还有没有void main这两个问题。

  • 解决方案:要建立包,把功能相似或相关的类或接口组织在同一个包中,方便类的查找和使用这个简单但困扰我很久的问题终于解决了。

    eg.

  • 问题二:在写p214的ClientQueue代码时,出现了以下的错误

我又仔细对照书上检查,没有错,我就暂时没有管这个问题。最后运行整个包的代码时,结果如下,与书上的答案一样。

但我还是上网查询了这个问题,网上说明错误如下

所以泛型应该怎么编写?这又是一个新的问题。

(我在网上找到关于 泛型 的一篇博客 ,但是内容较多,在提交博客前,这篇博客还没有学习完,会在下周学习完这个问题的。)

代码托管

  • 代码提交过程截图及代码量截图:
  • 因为这周在git commit时出现了以下的错误,所以我重新建立了一个文件夹,将之前的代码复制了过来,所以总代码量还是总代码量,但这周的代码量=1382-551(之前的代码量)=831;

上周考试错题总结

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

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

grep它能使用特定模式匹配(包括正则表达式)搜索文本,并默认输出匹配行

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

  • 错题四:5.填空:System.out.println(52+25+””);的结果是(77)



  • 错题五:11.判断:Java中,=与==并没有在基本类型和类类型的不同。(OK)

  • 错题六: 28.填空:Java中类的成员变量必须进行初始化,否则会出语法错误。(X)

  • 错题七: 15.判断:Java中的二维数组必须是M*N的规则数组。(X)

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

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

这周的学习内容是继承、接口与多态的运用,第六章刚开头的游戏角色和

第七章的海洋乐园游戏是比较让我感兴趣的,想要开发一个游戏或者软件,就是要考虑到方方面面的问题。继承与接口仿佛就像每次想到的小问题,在父类的基础上进行添加,这样的编写比在c语言中要方便的多,而且逻辑性比较清晰。

在代码的练习上,我觉得还是不够,因为遇到的题目有限,所以很多还不是很熟练,还要参考书上的例子才能写出代码,所以在以后,还是要多多练习代码,毕竟学习c语言的时候除了理解,更多的也是练习代码。

学习进度条

代码行数(新增/累积) 博客量(新增/累积) 学习时间(新增/累积) 重要成长
目标 5000行 15篇 400小时
第一周 9/9 1/1 20/20
第二周 162/ 171 1/2 25/45 学习java的基础语法
第三周 380/ 551 1/3 25/70 学习java对象及封装
第四周 831/ 1382 1/4 23/93 学习java的继承、接口与多态的运用

参考资料

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

  1. Java程序设计第四周学习总结

    1. 本周学习总结 1.1 尝试使用思维导图总结有关继承的知识点. 1.2 使用常规方法总结其他上课内容. 答:①String类是final类,不能定义String的子类. ② instanceof ...

  2. 对于“2017面向对象程序设计(JAVA)第四周学习总结”存在问题的反馈

    对于“2017面向对象程序设计(JAVA)第四周学习总结”存在问题的反馈 “这部分同学博文总结没有写,实验作业没有提交.”——1.关于博文作业.实验作业教学功能的正解:学习知识.暴露问题.衔接课上.2 ...

  3. 杨其菊201771010134《面向对象程序设计(java)》第四周学习总结

    <面向对象程序设计(java)> 第四周学习总结 第一部分:理论知识 1.类与对象 a.类(class)是构造对象的模板或蓝图.由类构造对象的过程称为创建类的实例: java中类声明的格式 ...

  4. 201871010106-丁宣元 《面向对象程序设计(java)》第四周学习总结

    201871010106-丁宣元 <面向对象程序设计(java)>第四周学习总结 正文开头 项目 内容 这个作业属于哪个课程 https://www.cnblogs.com/nwnu-da ...

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

    20155318 2016-2017-2 <Java程序设计>第九学习总结 教材学习内容总结 学习目标 了解JDBC架构 掌握JDBC架构 掌握反射与ClassLoader 了解自定义泛型 ...

  6. 《Java程序设计》第二学习总结

    <Java程序设计>第二学习总结 教材学习内容总结 类型 byte(字节) shot(短整型) int(整型) long(长整型) float(浮点型) double(双精度) char( ...

  7. 20145304 刘钦令 Java程序设计第二周学习总结

    20145304 <Java程序设计>第2周学习总结 教材学习内容总结 java可区分基本类型和类类型(即参考类型)两大类型系统. 基本类型主要可区分为整数.字节.浮点数.字符与布尔. 整 ...

  8. 20145304 刘钦令 Java程序设计第一周学习总结

    20145304<Java程序设计>第1周学习总结 教材学习内容总结 1995年5月23日,是公认的Java的诞生日,Java正式由Oak改名为Java. Java的三大平台是:Java ...

  9. 20145120黄玄曦 《java程序设计》 寒假学习总结

    1和2.我对未来规划不多,我认为好好学习积累知识能帮助我应对未来的挑战,这是我的学习动力之一,此外,了解新知识满足好奇心也是我的主要的学习动力. 3.我认为专业课学习比公务员考试重要,我认为专业知识是 ...

  10. 201621123007 Java程序设计第一周 学习总结

    第一周-Java基本概念 201621123007 <Java程序设计> 第一周学习总结 1. 本周学习总结 java是面向对象的一类语言,三大特征:封装性,继承性,多态性. jdk jr ...

随机推荐

  1. linux下常用命令:

    常用指令 ls        显示文件或目录 -l           列出文件详细信息l(list) -a          列出当前目录下所有文件及目录,包括隐藏的a(all) mkdir     ...

  2. System.Buffer 以字节数组(Byte[])操作基元类型数据

    1. Buffer.ByteLength:计算基元类型数组累计有多少字节组成. 该方法结果等于"基元类型字节长度 * 数组长度" , , }; , , }; , , }; Cons ...

  3. 栋哥你好,让我们回顾最初认识C++的时候(课堂作业)

    计算器的第一步,至今还记记忆犹新,本次的课堂作业,便是那个框架.闲话少叙,代码如下传送门: Main.cpp #include "stdafx.h" #include<ios ...

  4. TreadingTCPServer

    TreadingTCPServer实现的socket服务器内部会为每个client创建一个线程,该线程用来和客户端进行交互. 1.TreadingTCPServer基础 使用TreadingTCPSe ...

  5. jquery实现的时间轴

    代码 样式文件style.css 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 ...

  6. Math Summary 数论总结

    一.素数 Miller-Rabin 首先介绍一下伪素数:若n是一个正整数,且存在正整数a满足$a^{n-1}\equiv1\;(mod\;n)$ (费马小定理,但n不一定为素数) 那么我们说n是基于a ...

  7. Kali-linux渗透攻击应用

    前面依次介绍了Armitage.MSFCONSOLE和MSFCLI接口的概念及使用.本节将介绍使用MSFCONSOLE工具渗透攻击MySQL数据库服务.PostgreSQL数据库服务.Tomcat服务 ...

  8. urlparse 用法

    ifrom urllib2 import urlparse ‘’ captcha_id = urlparse.parse_qs(urlparse.urlparse(link).query, True) ...

  9. 自己制作html页面用的字体图标。

    从网上看到的一个制作字体图标的教程,自己试用过,确实还不错,就把教程搬过来了,方便查看. 我们UI做出来矢量的图,放到这个软件里操作,下面有教程,之后输入.ttf或是.otf格式的字体,我是在网上找了 ...

  10. PAT——1068. 万绿丛中一点红

    对于计算机而言,颜色不过是像素点对应的一个24位的数值.现给定一幅分辨率为MxN的画,要求你找出万绿丛中的一点红,即有独一无二颜色的那个像素点,并且该点的颜色与其周围8个相邻像素的颜色差充分大. 输入 ...