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型?
![](https://images2018.cnblogs.com/blog/1297630/201803/1297630-20180325133315244-32272673.jpg)
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 ...
随机推荐
- Eureka的原理
http://blog.csdn.net/awschina/article/details/17639191 关于AWS的区域和可用区概念解释: Eureka的原理:Region与Zone. 因为在编 ...
- SSH连接与自动化部署工具paramiko与Fabric
paramiko paramiko是基于Python实现的SSH2远程安全连接,支持认证及密钥方法.可以实现远程命令执行,文件传输,中间SSH代理等功能,相对于Pexpect,封装层次更高. pip ...
- Docker入门与应用系列(四)网络管理
一.Docker的五种网络模式 在使用docker run创建docker容器时,可以用--net选项指定容器的网络模式,Docker有以下5种网络模式: 1. bridge模式 使用docker r ...
- python 常用模块之os
1.权限判断 bool: os.access('/python/test.py',os.F_OK) #是否存在 bool: os.access('/python/test.py',os.R_OK) # ...
- 使用uwsgi配置django
1.uwsgi的安装 pip install uwsgi 2.uwsgi的基本测试: 创建一个test.py文件,内容如下: def application(env, start_response): ...
- 路径名导致的异常:javax.imageio.IIOException: Can't read input file!
背景: 写了一个测试程序,目的是读取本地的图片,为其打上水印图片.在使用过程中总会遇到:javax.imageio.IIOException: Can't read input file!的错误,最开 ...
- 转:动态计算UITableViewCell高度详解
转自:http://www.cocoachina.com/industry/20140604/8668.html 不知道大家有没有发现,在iOS APP开发过程中,UITableView是我们显示 ...
- Web客户端的几种存储方式
1.Cookie 在H5之前,cookie是主要的存储方式.cookie可以兼容到包括ie6以上的所有浏览器. Cookie数据会带到请求头的cookie字段里面,每次同主域名的请求中,都会传递数据, ...
- android 水波纹效果实现
1.在drawable文件下,新建seletor,作为button的背景,这里我用的是两个圆角的shape <?xml version="1.0" encoding=&quo ...
- soj1010. Zipper
1010. Zipper Constraints Time Limit: 1 secs, Memory Limit: 32 MB Description Given three strings, yo ...