20165203《Java程序设计》第四周学习总结
教材学习内容总结
第5章 子类与继承
- 子类的继承性
- 子类和父类在同一包中的继承性:子类继承父类中不是
private的成员变量和方法作为自己的成员变量和方法 - 子类和父类不在同一包中的继承性:子类只继承父类中的
protected和public访问权限的成员变量和方法作为子类的成员变量和方法
2.成员变量的隐藏 - 子类对象以及子类自己定义的方法操作与父类同名的成员变量是指子类重新声明的这个成员变量。
- 子类继承的方法所操作的成员变量一定是被子类继承或隐藏的成员变量
3.方法的重写 - 子类中定义的这个方法要和父类中被覆盖的方法类型一致
- 重写的方法既可以操作继承的成员变量、调用继承的方法,也可以操作子类新声明的成员变量、调用新定义的其他方法,但无法操作被子类隐藏的成员变量和方法。
4.super关键字: - 子类中想使用被子类隐藏的成员变量或方法
- 子类在其构造方法中需使用
super来调用父类的构造方法,而且super必须是子类构造方法中的头一条语句。
5.final final类不能被继承,不能有子类。final方法不允许子类重写final修饰成员变量或局部变量,他就是常量,且运行期间不允许发生变化。
6.abstract
-abstract类可以有abstract方法,也可以有非abstract方法,但是非abstract类只有非abstract方法
第6章 接口与实现
1.接口声明
- 接口通过使用关键字interface来声明
- 格式:interface 接口的名字
2.接口体
- 接口体中包含常量定义和方法定义两部分。
- 接口体中只进行方法的声明,不许提供方法的实现,
- 所以,方法的定义没有方法体,且用分号“;”结尾。
3.接口回调
可以把实现某一接口的类创建的对象的引用赋给该接口声明的接口变量中,
那么该接口变量就可以调用被类重写的接口方法。
实际上,当接口变量调用被类重写的接口方法时,就是通知相应的对象调用这个方法。
4.abstract类与接口的比较
- abstract类和接口都可以有abstract方法。
- 接口中只可以有常量,不能有变量;而abstract类中即可以有常量也可以有变量。
- abstract类中也可以有非abstract方法,接口不可以。
教材学习中的问题和解决过程
Q1:当学习到子类和父类不在同一包中的继承性时,提到private、public和protect,他们之间的区别是什么?
A1:经过回顾第四章的内容,我总结了一下:
| 修饰符 | 修饰变量和方法 |
|---|---|
| private | 如果A类中某个成员是private类变量和方法,那么另一个类B中,不能通过类名A来操作这个变量和方法 |
| public | 如果A类中某个成员是public类变量和方法,那么另一个类B中,能通过类名A来操作这个变量和方法 | protect | 如果在另外一个B中用类A创建了一个对象后,如果A和B在同一个包中,那么该对象可以访问自己的protect变量和方法。 |
Q2:(未解决)对于如图所示代码,出现问题:
如果computer方法的接口的参数是float型,为什么在主类上,实参是8和9是int型?

Q3:(未解决)对于如图所示代码,为什么要这么写,而不是直接给对象的实体变量赋值?

代码调试中的问题和解决过程
Q1:(未解决)在调试代码时,出现了如图所示状况:

Q2:(已解决)编译运行时,出现了如图所示错误:

A2:我上网查询了,总结了一下出现该问题的原因:
一般出现此问题的原因为:
- 花括号没有闭合
- 缺少了分号
仔细检查了一下自己的程序,确实是在父类中少打了一个}。
Q3:(已解决)此前在学习之前的内容时,一直存在一个问题,出现类和主类不在同一个包里时,在编译主类时,总是出现错误,找不到类,不知是什么原因?
A3:在同学的帮助下,找到了原因,我之前并没有在类的文件夹之外编译运行,在文件夹之外运行后,编译成功了。

Q4:(已解决)之前运行代码时,出现了println和printf敲错的问题,为此,我特意总结了一下区别:

A4:
printf主要是继承了C语言的printf的一些特性,可以进行格式化输出
print就是一般的标准输出,但是不换行
println和print基本没什么差别,就是最后会换行
代码托管

上周考试错题总结
Q1:
这道题尽管做对,但是我还是想了解一下java demo 3的含义。
Q2: 
A2:int强制转换字符表示字符的Unicode码,即字符在Unicode表中的位置。
Q3: 
A3:漏选了A项,字符串数组的初始化后面必须要加{ }。详情可继续参照java字符串数组初始化和赋值
其他
随着学习内容的增多,我们在之后的学习过程中难免会出现对前面的知识出现模糊的情况,这并不可怕,其实,这反而是一件好事,帮助我们了解自己对于前面知识点的漏洞,随后进行查漏补缺,会对整个知识体系的掌握有很大的好处。
另外,自己要学会对比总结学习,所谓对比总结就是对比一些很相似但又不同的知识点,并总结他们的相同点和不同点,这样知识会掌握的更加牢固。
还有,通过本周的考试,自己明显吃力了很多,应该自己尝试编代码,而不是一味地敲书上的代码,应该多实践,多动手,理论+实践。
学习进度条
| ~ | 代码行数(新增/累积) | 博客量(新增/累积) | 学习时间(新增/累积) | 重要成长 |
|---|---|---|---|---|
| 目标 | 5000行 | 30篇 | 400小时 | |
| 第三周 | 1716/1500 | 1/2 | 30/90 |
参考资料
20165203《Java程序设计》第四周学习总结的更多相关文章
- Java程序设计第四周学习总结
1. 本周学习总结 1.1 尝试使用思维导图总结有关继承的知识点. 1.2 使用常规方法总结其他上课内容. 答:①String类是final类,不能定义String的子类. ② instanceof ...
- 杨其菊201771010134《面向对象程序设计(java)》第四周学习总结
<面向对象程序设计(java)> 第四周学习总结 第一部分:理论知识 1.类与对象 a.类(class)是构造对象的模板或蓝图.由类构造对象的过程称为创建类的实例: java中类声明的格式 ...
- 对于“2017面向对象程序设计(JAVA)第四周学习总结”存在问题的反馈
对于“2017面向对象程序设计(JAVA)第四周学习总结”存在问题的反馈 “这部分同学博文总结没有写,实验作业没有提交.”——1.关于博文作业.实验作业教学功能的正解:学习知识.暴露问题.衔接课上.2 ...
- 201871010106-丁宣元 《面向对象程序设计(java)》第四周学习总结
201871010106-丁宣元 <面向对象程序设计(java)>第四周学习总结 正文开头 项目 内容 这个作业属于哪个课程 https://www.cnblogs.com/nwnu-da ...
- 20155318 2016-2017-2 《Java程序设计》第九学习总结
20155318 2016-2017-2 <Java程序设计>第九学习总结 教材学习内容总结 学习目标 了解JDBC架构 掌握JDBC架构 掌握反射与ClassLoader 了解自定义泛型 ...
- 《Java程序设计》第二学习总结
<Java程序设计>第二学习总结 教材学习内容总结 类型 byte(字节) shot(短整型) int(整型) long(长整型) float(浮点型) double(双精度) char( ...
- 20145304 刘钦令 Java程序设计第二周学习总结
20145304 <Java程序设计>第2周学习总结 教材学习内容总结 java可区分基本类型和类类型(即参考类型)两大类型系统. 基本类型主要可区分为整数.字节.浮点数.字符与布尔. 整 ...
- 20145304 刘钦令 Java程序设计第一周学习总结
20145304<Java程序设计>第1周学习总结 教材学习内容总结 1995年5月23日,是公认的Java的诞生日,Java正式由Oak改名为Java. Java的三大平台是:Java ...
- 20145120黄玄曦 《java程序设计》 寒假学习总结
1和2.我对未来规划不多,我认为好好学习积累知识能帮助我应对未来的挑战,这是我的学习动力之一,此外,了解新知识满足好奇心也是我的主要的学习动力. 3.我认为专业课学习比公务员考试重要,我认为专业知识是 ...
- 201621123007 Java程序设计第一周 学习总结
第一周-Java基本概念 201621123007 <Java程序设计> 第一周学习总结 1. 本周学习总结 java是面向对象的一类语言,三大特征:封装性,继承性,多态性. jdk jr ...
随机推荐
- UIScrollview 与 Autolayout 的那点事
原文 http://www.cocoachina.com/ios/20151221/14757.html 前言 自从写了 介绍Masonry 那篇文章以后 就一直有人对UIScrollView的那个 ...
- Chapter 8(查找)
1.二分查找和插值查找 //************************Search.h*********************************** #ifndef SEARCH_H # ...
- Dockerfile基本语法
Dockerfile的组成 Dockerfile分为四部分: 基础镜像信息 维护者信息 镜像操作指令 容器启动时执行指令 Dockerfile指令说明 FROM 格式为FROM <image&g ...
- c# string 和 byte[]数组之间转换
在文件流读取和存储过程当中,经常涉及到byte[]数组形式存储数据,再此过程中也涉及到String类型字符串和byte[]的类型转换,下面我们举例说明一下. 现在有一个字符串: string str ...
- ajax状态码--转他人的
var getXmlHttpRequest = function () { try{ //主流浏览器提供了XMLHttpRequest对象 return new XMLHttpRequest(); } ...
- bzoj 3309 反演
$n=p_1^{a_1}p_2^{a_2}…p_k^{a_k},p_i$为素数,定义$f(n)=max(a_1,a_2…,a_k)$. 给定a,b<=1e7求$\sum\limits_{i=1} ...
- Linux安装配置SVN服务器
1. 安装SVN服务器: 检查是否已安装 # rpm -qa subversion 安装SVN服务器 # yum install httpd httpd-devel subversion mod_da ...
- 把数组存入到cookie中
$arr = array(1,2,3); // 把数组序列化之后,存入到cookie中 $arr_str = serialize($arr); // 序列化数组 setcookie('a',$arr_ ...
- protobuffer
[protobuffer] 1.扩展名为.proto. 2.定义一个协议: 3.定义一个Service: 4.编译器为protoc,使用protoc: 5.style:所有的类型名均CamelCase ...
- 判断html是否含有图片
核心代码: $url="http://XXXXX/article/012.html"; $content=file_get_contents($url); //读取文章页面源代码 ...