一、本周学习总结

1.1 尝试使用思维导图总结有关继承的知识点。

1.2 使用常规方法总结其他上课内容。

 (1)多态性:相同形态,不同行为(不同的定义);
(2)多态绑定:运行时能够自动地选择调用哪个方法;
(3)通过上课PPT的实例讲解,对多态有了更深的理解;
(4)Object类:是所有类的父类。

二、书面作业

1、注释的应用,使用类的注释与方法的注释为前面编写的类与方法进行注释,并在Eclipse中查看。(截图)

2、面向对象设计(大作业1,非常重要)

2.1 将在网上商城购物或者在班级博客进行学习这一过程,描述成一个故事。(不得少于50字,参考QQ群中PPT的范例)

 答:我想买个包于是我打开了淘宝网。



搜索背包,选择女包



挑选好自己喜欢的包加入购物车



然后结算就好了。

2.2 通过这个故事我们能发现谁在用这个系统,系统中包含的类及其属性方法,类与类之间的关系。尝试找到这些类与属性,并使用思维导图描述类、属性、方法及类与类之间的关系。

3、ManagerTest.zip代码分析:分析ManagerTest.zip中的代码,回答几个问题:

3.1 在本例中哪里体现了使用继承实现代码复用?回答时要具体到哪个方法、哪个属性。





方法和属性具体在截图里标记了。

3.2 Employee类及其子类Manager都有getSalary方法,那怎么区分这两个方法呢?

 答:如果子类与父类有相同的字段,子类可以用super关键字来访问它。这里Employee类是父类,所以它的getSalary方法在被子类Manager类使用时要表示为super.getSalary(),这样就可以用来区别Employee类及其子类Manager都有getSalary方法。

3.3 文件第26行e.getSalary(),到底是调用Manager类的getSalary方法还是Employee类的getSalary方法。

 答:调用的是Employee类的getSalary方法。有以下代码可以看出。

3.4 Manager类的构造函数使用super调用父类的构造函数实现了代码复用,你觉得这样的有什么好处?为什么不把父类构造函数中的相关代码复制粘贴到Manager的构造函数中,这样看起来不是更直观吗?

 答:Manager类的构造函数使用super调用父类的构造函数实现了代码复用,这样可以减少了很多重复的代码,也节省了时间。有特有的关键字来执行这个操作,如果只是复制粘贴,会给删除、添加代码等操作带来麻烦。以为改的时候还得一一改正。

4、Object类

4.1 编写一个Fruit类及属性String name,如没有extends自任何类。使用System.out.println(new Fruit());是调用Fruit的什么方法呢?该方法的代码是从哪来的?尝试分析这些代码实现了什么功能?

 答:调用了to.String的方法。该方法的代码是从系统默认的java.lang.object来的,调用了默认的object类,因为object类是所有类的父类。

4.2 如果为Fruit类添加了toString()方法,那么使用System.out.println(new Fruit());调用了新增的toString方法。那么其父类中的toString方法的代码就没有了吗?如果同时想要复用其父类的toString方法,要怎么操作?(使用代码演示)

 答:其父类中的toString方法还在,若是同时想要复用父类的toString方法,要用super关键字

5、代码阅读:PersonTest.java(abstract、多态)

5.1 画出类的继承关系

5.2 读懂main函数,将自己推测的出代码运行结果与真正运行结果进行比较。尝试分析原因

 答:是比较对象的年龄,将对象以年龄从小到大进行排序,然后输出。

5.3 子类中里面使用了super构造函数,作用是什么?如果将子类中的super构造函数去掉,行不行?

 答;子类中里面使用了super构造函数是为了调用父类的构造函数,如果将子类中的super构造函数去掉,会调用父类的无参构造函数,而PersonTest.java(abstract、多态)例子中没有无参构造函数。

5.4 PersonTest.java中的代码哪里体现了多态?你觉得多态有什么好处?多态和继承有什么关系吗?

 答:子类中代码的覆盖体现了多态。
多态的好处;减少了大量的代码,提高效率;易于修改;相同的形态,不同的行为;相同的方法名,不同的实现;更加灵活。
多态和继承的关系:继承是多态的基础

三、码云代码提交记录

四、PTA实验

题目集:jmu-Java-03-面向对象1-基础-封装继承 中的

函数(4-1, 4-2, 4-3,4-4较难选做)

编程(5-4, 5-5, 5-6)

 实验总结:
(1)学会了在新建的类中覆盖其toString与equals方法。比如实验5-5;新建PersonOverride类覆盖其toString与equals方法。
(2)实验四学会运用继承的知识点来编写代码,但并不熟练。
(3)周三实验课进行了小测,发现对知识的掌握程度还不够,还需继续加强。

201521123103 《Java学习笔记》 第四周学习总结的更多相关文章

  1. 20145213《Java程序设计》第四周学习总结

    20145213<Java程序设计>第四周学习总结 教材学习内容总结 本周任务是学习面向对象的继承.接口以及之后的如何活用多态.(还真是路漫漫其修远兮啊!)教材也是延续上周艰深晦涩的语言风 ...

  2. 20145330《Java程序设计》第四周学习总结

    20145330<Java程序设计>第四周学习总结 一周两章新知识的自学与理解真的是很考验和锻炼我们,也对前面几章我们的学习进行了检测,遇到忘记和不懂的知识就再复习前面的,如此巩固也让我对 ...

  3. 20145337《Java程序设计》第四周学习总结

    20145337<Java程序设计>第四周学习总结 教材学习内容总结 继承与多态 继承 继承,避免多个类间重复定义共同行为 符合DRY(Don't Repeat Yourself)原则,多 ...

  4. 20145218 《Java程序设计》第四周学习总结

    20145218 <Java程序设计>第四周学习总结 教材学习内容总结 继承 继承共同行为 继承基本上就是避免多个类间重复定义共同行为. 继承的三个好处:减少代码冗余:维护变得简单:扩展变 ...

  5. 《Java程序设计》第四周学习总结

    20145224-陈颢文 <Java程序设计>第四周学习总结 教材学习内容总结 第六章 继承与多态 ·继承就是面向对象中,子类继承父类,避免重复的行为定义.重复再程序设计上是非常不好的信号 ...

  6. 20155304 2016-2017-2 《Java程序设计》第四周学习总结

    20155304 2016-2017-2 <Java程序设计>第四周学习总结 教材学习内容总结 第六章 继承: 概念: 面向对象中,为避免多个类间重复定义共同行为.(简单说就是将相同的程序 ...

  7. 20175126《Java程序设计》第四周学习总结

    # 20175126 2016-2017-2 <Java程序设计>第四周学习总结 ## 教材学习内容总结 - 本周学习方式主要为手动敲打教材代码和观看APP上的视频资源自学. - 学习内容 ...

  8. 学号 20175329 2018-2019-3《Java程序设计》第四周学习总结

    学号 20175329 2018-2019-3<Java程序设计>第四周学习总结 教材学习内容总结 第五章 上周学习的第四章是体现了数据的封装,本章第五章主要是体现出对象的另外两个方面的重 ...

  9. 20165235 祁瑛 2018-3 《Java程序设计》第四周学习总结

    20165235 祁瑛 2018-3 <Java程序设计>第四周学习总结 教材学习内容总结 第五单云总结 (一)子类与继承1.java中子类只能有一个父类,在类名前用extends标记.2 ...

  10. 20175314 《Java程序设计》第四周学习总结

    20175314 <Java程序设计>第四周学习总结 教材学习内容总结 每个子类只能有一个父类,而一个父类可以有多个子类.可以使用关键字extends来定义一个类的子类:class 子类名 ...

随机推荐

  1. Python pyspider 安装与开发

    PySpider 简介 PySpider是一个国人编写的强大的网络爬虫系统并带有强大的WebUI.采用Python语言编写,分布式架构,支持多种数据库后端,强大的WebUI支持脚本编辑器.任务监视器, ...

  2. HDU 1028 Ignatius and the Princess III:dp or 母函数

    题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=1028 题意: 给你一个正整数n,将n拆分成若干个正整数之和,问你有多少种方案. 注:"4 = ...

  3. latch相关视图整理

    latch相关视图整理(原创) V$LATCH V$LATCH视图在选取X$KSLLT记录时,进行了Group By及SUM运算,从而得出了一个汇总信息,保存了自实例启动后各类栓锁的统计信息.常用于当 ...

  4. owncloud存储云服务搭建

    owncloud是一款开源的存储云,用php写的,其作用可以像百度网盘那样存放文件到这个云当中, 只要能连上网,手机,平板,电脑都可以从中下载或者上传文件,用起来非常还不错,部署的过程也很简单,废话不 ...

  5. 常见C++面试题(三)

    strcpy和memcpy有什么区别?strcpy是如何设计的,memcpy呢?   strcpy提供了字符串的复制.即strcpy只用于字符串复制,并且它不仅复制字符串内容之外,还会复制字符串的结束 ...

  6. C# foreach循环较for循环的优势与劣势

    一.foreach循环的优势 C#支持foreach关键字,foreach在处理集合和数组相对于for存在以下几个优势: 1.foreach语句简洁 2.效率比for要高(C#是强类型检查,for循环 ...

  7. Go指针

    Go 语言指针 Go 语言中指针是很容易学习的,Go 语言中使用指针可以更简单的执行一些任务. 接下来让我们来一步步学习 Go 语言指针. 我们都知道,变量是一种使用方便的占位符,用于引用计算机内存地 ...

  8. 【教程】webstorm的破解以及汉化

    安装包以及汉化包的下载(大小151M): 链接:http://pan.baidu.com/s/1hsA5GUS 密码:roui 破解: 正常安装的webstorm是要注册码的,这里教你免费使用的方法, ...

  9. MVC项目中使用百度地图

    已经很久没更新博客了,因为最近一直在学习前端的知识,没那么多时间,写博客或者写文章不但没有钱,写得好还好说,如果写得不好,一些吃瓜群众,不仅要喷你,搞不好还要人身攻击就不好了.所以写博客的人,脸皮得厚 ...

  10. visual studio code 调试nodejs 配置简单HTTP服务器

    介绍 Visual Studio Code是一个轻量级的Web集成开发环境on Linux,Mac and Windows,特别是作为前端人员来了, 多了一个可供选择的生产力工具IDE,调试js代码简 ...