20165233 Java第五、六章学习总结
20165233 2017-2018-2 《Java程序设计》第四周学习总结
教材学习内容总结
ch05
- 子类与父类以及子类的继承性
- 一个子类只能有一个父类
- 使用
extends
关键字定义子类 - 子类与父类在同一个包中、不在同一个包中的不同继承特点。
- 子类与对象
- 子类对象可以调用继承的方法,操作没有继承的成员变量。
- 成员变量的隐藏与方法的重写
- 子类从父类继承来的成员变量与子类自己所声明的成员变量名字相同,则会隐藏继承的成员变量。
- 子类通过重写可以隐藏继承的方法(也称方法覆盖)
- 重写的规则及目的
super
、final
关键字- 对象的上转型对象以及继承与多态
- 用子类创建一个对象a,并把这个对象的引用放到父类的对象b中,则对象a是对象b的上转型对象。
- abstract类与abstract方法
- 面向抽象编程
ch06
- 接口以及接口的实现
- 接口的接口体中只可以有常量和abstract方法
- 和类一样,接口也是Java中的一种重要的引用型数据类型,接口变量中只能存放实现该接口的实例(对象)的引用。
- 接口回调:当接口变量中存放了实现接口的类的对象的引用后,接口变量就可以调用类实现的接口方法,这一过程被称为接口回调。
- 理解接口以及接口与多态:和子类体现多态类似,由接口产生的多态就是指不同的类在实现同一个接口时可能具有不同的实现方式。
- 接口参数
- 面向接口编程
教材学习中的问题和解决过程
- 问题1:为什么要重写而不是新写一个方法呢?
- 问题1解决方案:方法的名字是非常重要的,而且是常用的,这样在使用时,方法便是人们习惯性使用的,更加方便操作。
- 问题2:教材121页中,子类定义方法
computer
时,多增加了一个变量,此时是否属于重写继承的computer
方法呢?编译与运行结果如何? - 问题2解决方案:此时不属于重写
computer
方法,由于子类没有覆盖继承computer
方法,使子类出现了方法重载。 - 问题3:
super
关键字的好处是什么? - 问题3解决方案:又要重写,还想继续使用这个方法,即想用父类的变量或方法,并想改进父类,但又不想重敲一遍,这时便可利用
super
关键字。 - 问题4:为什么使用接口,而不是直接写个方法实现呢?
- 问题4解决方案:当子类有不同的父类时,但还要有同样的行为标准,可以使用同一个接口。
代码调试中的问题和解决过程
- 问题1:编译Example6_4.java时,出现了如图所示的错误,如何解决?
- 输出命令行
System.out.printf
错敲成System.out.println
.
代码托管
上周考试错题总结
- 错题1:观察以下方法的定义,则该方法的返回类型为?
ReturnType method(byte x,double y) {
return (short)x/y*2;
}
原因:对于类型转换的知识点理解不太透彻。
理解情况:short
将byte
类型的x
强制转换为short
类型,但y
的精度更高,所以返回类型为double
。
- 错题2:
short
和Float
都属于基本数据类型?
原因:未区分清楚数据类型与封装类的区别。
理解情况:Float
是float
提供的封装类,不是基本数据类型。 - 错题3:定义
float x = 0.5f;double y = 0.5
,则x == y
结果为false
?
原因:对于float与double类型的异同掌握不熟练。
理解情况:0.5
在float
和double
的范围内都可以使用二进制精确表示,因此二者相等。
其他(感悟、思考等,可选)
本周对于编程的学习已经深入到了编程思想方面,例如面向抽象编程与面向接口编程。这些思想有着很大的共同之处,在用户需求多变的时候,接口与抽象的方法对于修改和维护程序提供着更大的便利。在这周的学习中,对于知识点的理解慢慢的有一些容易了,由于微课视频中,老师会举一些直观,贴近生活的例子。但是感觉到自己可以编写出一个全面可行的程序还相差甚远,需要继续努力。
20165233 Java第五、六章学习总结的更多相关文章
- 20165233 Java第二、三章学习总结
2017-2018-2 <Java程序设计>第二周学习总结 教材学习内容总结 第二.三章 ch2 标识符与关键字 基本数据类型: 逻辑类型:boolean 整数类型:int.byte.sh ...
- “全栈2019”Java多线程第六章:中断线程interrupt()方法详解
难度 初级 学习时间 10分钟 适合人群 零基础 开发语言 Java 开发环境 JDK v11 IntelliJ IDEA v2018.3 文章原文链接 "全栈2019"Java多 ...
- “全栈2019”Java异常第六章:finally代码块作用域详解
难度 初级 学习时间 10分钟 适合人群 零基础 开发语言 Java 开发环境 JDK v11 IntelliJ IDEA v2018.3 文章原文链接 "全栈2019"Java异 ...
- “全栈2019”Java第九十六章:抽象局部内部类详解
难度 初级 学习时间 10分钟 适合人群 零基础 开发语言 Java 开发环境 JDK v11 IntelliJ IDEA v2018.3 文章原文链接 "全栈2019"Java第 ...
- “全栈2019”Java第五十七章:多态与构造方法详解
难度 初级 学习时间 10分钟 适合人群 零基础 开发语言 Java 开发环境 JDK v11 IntelliJ IDEA v2018.3 文章原文链接 "全栈2019"Java第 ...
- “全栈2019”Java第五十三章:向上转型和向下转型详解
难度 初级 学习时间 10分钟 适合人群 零基础 开发语言 Java 开发环境 JDK v11 IntelliJ IDEA v2018.3 文章原文链接 "全栈2019"Java第 ...
- “全栈2019”Java第五十一章:继承与final关键字详解
难度 初级 学习时间 10分钟 适合人群 零基础 开发语言 Java 开发环境 JDK v11 IntelliJ IDEA v2018.3 文章原文链接 "全栈2019"Java第 ...
- “全栈2019”Java第二十六章:流程控制语句中循环语句do-while
难度 初级 学习时间 10分钟 适合人群 零基础 开发语言 Java 开发环境 JDK v11 IntelliJ IDEA v2018.3 文章原文链接 "全栈2019"Java第 ...
- “全栈2019”Java第十六章:下划线在数字中的意义
难度 初级 学习时间 10分钟 适合人群 零基础 开发语言 Java 开发环境 JDK v11 IntelliJ IDEA v2018.3 文章原文链接 "全栈2019"Java第 ...
- Spring实战第六章学习笔记————渲染Web视图
Spring实战第六章学习笔记----渲染Web视图 理解视图解析 在之前所编写的控制器方法都没有直接产生浏览器所需的HTML.这些方法只是将一些数据传入到模型中然后再将模型传递给一个用来渲染的视图. ...
随机推荐
- R语言画图小结
本文以1950年到2010年期间我国的火灾统计数据为例,数据如下所示: (0)加载数据 data<-read.csv("E:\\MyDocument\\p\\Data\\1950~20 ...
- 雷林鹏分享:Ruby 迭代器
Ruby 迭代器 迭代器是集合支持的方法.存储一组数据成员的对象称为集合.在 Ruby 中,数组和散列可以称之为集合. 迭代器返回集合的所有元素,一个接着一个.在这里我们将讨论两种迭代器,each 和 ...
- 优化--前端(全占课,未完成作业:);CDN; Http/2的设置(未完成)
前端效能: 关键渲染路径:Google 文档 JavaScript 加载最佳化 让html和javascript同时渲染: 设置<script>的async或者defer属性(boolea ...
- freemarker多个checkbox一个以上被选中示例
<tr> <td class="handColumn" colspan="5" > <#list deptHandNotConta ...
- 101. Symmetric Tree -- 判断树结构是否对称
Given a binary tree, check whether it is a mirror of itself (ie, symmetric around its center). For e ...
- HDU1102 最小生成树prim算法
题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=1102 题意:给出任意两个城市之间建一条路的时间,给出哪些城市之间已经建好,问最少还要多少时间使所有的城 ...
- Halcon12新特性之VS可视化调试插件
当我们用VC\C#调试halcon代码的时候,通常会遇到一个头痛的问题,我们无法看到halcon变量的调试信息 如下图:什么鬼...什么鬼 比如我们想看一个double数值变量,我们需要 doub ...
- 传智:自己简单实现一个struts2框架的demo
struts2的结构图: 代码实现: 组织结构: 主要代码: package cn.itcast.config; import org.apache.log4j.Logger; import org. ...
- WebGL编程指南案例解析之绘制三角形
//案例3.绘制三角形,将顶点数据存到缓冲区对象(gl.ARRAY_BUFFER)中,然后顶点着色器从里面读数据(3个顶点) //顶点着色器中去掉gl_PointSize = 10.0,绘制三角不能设 ...
- Java并发编程之三:volatile关键字解析 转载
目录: <Java并发编程之三:volatile关键字解析 转载> <Synchronized之一:基本使用> volatile这个关键字可能很多朋友都听说过,或许也都用过 ...