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 ...
随机推荐
- eclipse安装activiti5.18.0工作流插件 以及安装过程中activiti插件出现的问题及解决
转: eclipse安装activiti5.18.0工作流插件 以及安装过程中activiti插件出现的问题及解决 2017年05月04日 18:44:21 JJ_nan 阅读数:2773 版权声 ...
- Python 爬虫入门(二)—— IP代理使用
上一节,大概讲述了Python 爬虫的编写流程, 从这节开始主要解决如何突破在爬取的过程中限制.比如,IP.JS.验证码等.这节主要讲利用IP代理突破. 1.关于代理 简单的说,代理就是换个身份.网络 ...
- https 协议信息查看
https://www.ssllabs.com/ssltest/」—————————
- Macvlan技术
参考博客:https://blog.csdn.net/dog250/article/details/45788279 一.MACVLAN虚拟网卡技术 MACVLAN技术可谓是提出一种将一块以太网卡虚拟 ...
- sqlalchemy基本使用
一.ORM介绍 orm英文全称object relational mapping,就是对象映射关系程序,简单来说我们类似python这种面向对象的程序来说一切皆对象,但是我们使用的数据库却都是关系型的 ...
- Git1:Git简介
目录 什么是版本控制系统 集中式版本控制系统 分布式版本控制系统 Git起源 Git特性 什么是版本控制系统 版本控制系统是一种记录一个或若干文件内容变化,以便将来查阅特定版本修订情况的系统.版本控制 ...
- Mongo副本集搭建
解压mongodb-linux-x86_64-rhel70-3.2.0.tgz 将解压后的bin路径添加到系统环境变量,保证mongo.mongod等命令可用 创建副本集目录mongo/27017.2 ...
- [洛谷P2444] [POI2000]病毒
洛谷题目链接:[POI2000]病毒 题目描述 二进制病毒审查委员会最近发现了如下的规律:某些确定的二进制串是病毒的代码.如果某段代码中不存在任何一段病毒代码,那么我们就称这段代码是安全的.现在委员会 ...
- Java并发编程原理与实战四十五:问题定位总结
背景 “线下没问题的”. “代码不可能有问题 是系统原因”.“能在线上远程debug么” 线上问题不同于开发期间的bug,与运行时环境.压力.并发情况.具体的业务相关.对于线上的问题利用线上 ...
- APScheduler定时执行外加supervisor管理后台运行
最近写的天气爬虫想要让它在后台每天定时执行,一开始用的celery,但不知道为什么明明设置cron在某个时间运行,但任务却不间断的运行.无奈转用apscheduler,但是不管怎么设置都不能使得当调用 ...