201521123092《java程序设计》第四周学习总结
1.本周学习总结
#1.尝试使用思维导图总结有关继承的知识点。

#2.使用常规方法总结其他上课内容。
本周主要学习了继承的相关知识,用关键词extends来定义一个类,被继承的类叫做父类,继承的类叫做子类。
2.书面作业
#1.注释的应用
使用类的注释与方法的注释为前面编写的类与方法进行注释,并在Eclipse中查看。(截图)

#2.面向对象设计(大作业1,非常重要)
##2.1 将在网上商城购物或者在班级博客进行学习这一过程,描述成一个故事。(不得少于50字,参考QQ群中PPT的范例)
故事:一天我要用淘宝买一瓶洗发水,在搜索栏输入了洗发水以后点击搜索,然后我在跳出的诸多洗发水品牌里选择了自己喜欢的“清扬”洗发水,点击该商品进入宝贝详情以后,点击加入购物车,然后进入购物车结账,确认地址,联系方式无误后,点击确认付款完成了这次购买。
##2.2 通过这个故事我们能发现谁在用这个系统,系统中包含的类及其属性方法,类与类之间的关系。尝试找到这些类与属性,并使用思维导图描述类、属性、方法及类与类之间的关系。
是消费者我在使用这个系统。

#3.ManagerTest.zip代码分析
分析ManagerTest.zip中的代码,回答几个问题:
##3.1 在本例中哪里体现了使用继承实现代码复用?回答时要具体到哪个方法、哪个属性。
子类的Manager继承了父类的Employee,用了public Employee方法,用了name,salary,hireday等属性。
##3.2 Employee类及其子类Manager都有getSalary方法,那怎么区分这两个方法呢?
使用super.getsSalary ()调用父类方法:使用Manger调用子类方法。
##3.3 文件第26行e.getSalary(),到底是调用Manager类的getSalary方法还是Employee类的getSalary方法。
调用的是Employee类的getSalary方法。
##3.4 Manager类的构造函数使用super调用父类的构造函数实现了代码复用,你觉得这样的有什么好处?为什么不把父类构造函数中的相关代码复制粘贴到Manager的构造函数中,这样看起来不是更直观吗?
无需重复编写相同的代码,节约了时间。
#4.Object类
##4.1 编写一个Fruit类及属性String name,如没有extends自任何类。使用System.out.println(new Fruit());是调用Fruit的什么方法呢?该方法的代码是从哪来的?尝试分析这些代码实现了什么功能?
调用object的toString方法;来自java.lang包中。
##4.2 如果为Fruit类添加了toString()方法,那么使用System.out.println(new Fruit());调用了新增的toString方法。那么其父类中的toString方法的代码就没有了吗?如果同时想要复用其父类的toString方法,要怎么操作?(使用代码演示)
父类中的toString方法的代码依然存在。如果要同时复用其父类的toString方法,只需使用super关键字,代码如下:

##4.3 Fruit类还继承了Object类的equals方法。尝试分析其功能?自己编写一个equals方法覆盖父类的相应方法,功能为当两个Fruit对象name相同时(忽略大小写),那么返回true。(使用代码证明你自己覆盖的equals方法是正确的)
equals功能就是用来比较两个值是否相等,代码如下:

##4.4 在4.3的基础上使用ArrayList<Fruit> fruitList存储多个fruit,要求如果fruitList中已有的fruit就不再添加,没有的就添加进去。请编写相关测试代码。并分析ArrayList的contatins方法是如何实现其功能的?
#5.代码阅读:PersonTest.java(abstract、多态)
##5.1 画出类的继承关系

##5.2 读懂main函数,将自己推测的出代码运行结果与真正运行结果进行比较。尝试分析原因
person是一个抽象类,无法实例化对象。
##5.3 子类中里面使用了super构造函数,作用是什么?如果将子类中的super构造函数去掉,行不行?
作用是调用父类函数。 不可以去掉。
##5.4 PersonTest.java中的代码哪里体现了多态?你觉得多态有什么好处?多态和继承有什么关系吗?
多态可以构造多个不同的对象。 继承是多态的一种体现。
参考文件:PersonTest.java
3.码云代码提交记录
#在码云的项目中,依次选择“统计-Commits历史-设置时间段”, 然后搜索并截图
4.pta实验
抽象类的定义,用到abstract关键字;用super调用父类。
201521123092《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 ...
随机推荐
- python标准数据类型
Python3 中有六个标准的数据类型: Number(数字) String(字符串) List(列表) Tuple(元组) Sets(集合) Dictionary(字典) Python 中的变量不需 ...
- 设计模式之桥接模式(Bridge模式)
我想大家小时候都有用蜡笔画画的经历吧.红红绿绿的蜡笔一大盒,根据想象描绘出格式图样.而毛笔下的国画更是工笔写意,各展风采.而今天我们的故事从蜡笔与毛笔说起. 设想要绘制一幅图画,蓝天.白云.绿树.小鸟 ...
- webgl自学笔记——矩阵变换
这章主要探讨矩阵,这些矩阵代表了应用在我们场景上的变换,允许我们移动物体.然而在webGL api中并没有一个专门的camera对象,只有矩阵.好消息是使用矩阵来取代相机对象能让webgl在很多复杂动 ...
- js For循环练习。
一张纸的厚度是0.0001米,将纸对折,对折多少次厚度超过珠峰高度8848米 var i = 1; var height = 0.0001; while(true){ height *= 2; if( ...
- JSON以及Java转换JSON的方法(前后端常用处理方法)
)); map.put("arr", new String[] { "a", "b" }); map.put("func" ...
- EasuUI-js(EasyUI formatter格式化教程)常用判断收集
YN标记: formatter : function(c1, row,index) { var a = ""; if(c1 == "Y"){ a = a + & ...
- HttpClient调用api
/// <summary> /// 模拟调用API /// </summary> /// <param requestUrl="">请求地址&l ...
- JS中的函数、BOM和DOM操作
一.JS中的函数 [关于注释] /** [文档注释]:开头两个*.写在函数上方,在调用函数时可以看到文档上方的描述信息. */ // 单行注释 /* 多行注释 */ 1.函数的声明及调用 (1) ...
- .NET入行之工作后
成长这条路上,有一些事已经渐渐的消失模糊的脑海里,而有一些事,则历历在目,终生铭记. 一切都是从大二下学期快结束的那段培训课程开始的,从此也算是入门了,这也是一条不归路. 在.NET入行之工作前一文中 ...
- Sql Server数据库使用触发器和sqlbulkcopy大批量数据插入更新
需要了解的知识 1.触发器 2.sqlbulkcopy 我的用途 开发数据库同步的工具,需要大批量数据插入和数据更新. 方式 使用SqlBulkCopy类对数据进行数据批量复制,将需要同步数据的表新建 ...