201521123097《Java程序设计》第五周学习总结
1. 本周学习总结
1.1 尝试使用思维导图总结有关多态与接口的知识点。
2. 书面作业
1.代码阅读:Child压缩包内源代码
1.1 com.parent包中Child.java文件能否编译通过?哪句会出现错误?试改正该错误。并分析输出结果。
不能编译,因为i不能直接引用。
![](http://images2015.cnblogs.com/blog/1109907/201703/1109907-20170325182559752-548336501.png)
1.2 另外一个包中的OutOfParentPackage.java,能否编译通过?提示什么错误?分析原因。
不能编译。提示The type Parent is not visible。因为OutOfParentPackage.java文件在parent这个包外。
1.3 回答:如果为了访问到protected修饰的属性或方法应该怎么办?
protected有访问范围,同一个包或是子类
2.abstract进阶:阅读GuessGame抽象类的设计与使用源代码
2.1 Guess改造前代码很简单,而改造后的代码使用了抽象类、抽象方法看起来很复杂,那这样的改造到底有什么好处呢?
改造前只能在控制台上执行该代码,而改造后可以在控制台,也可以使用对话框图形界面等输入。
2.2 如果想将该游戏改造成图形界面,应该进行一些什么操作?
在图形界面的类中去重写抽象类。
2.3 结合该例子,你觉得什么时候应该使用abstract?
在具体的方法实现还未被定义的时候,就可以用abstract。
2.4 重要:在这个例子中,变化的是什么,不变的是什么?尝试结合abstract、继承等概念进行说明。
变化的是对控制台、对话框图形界面的操作,也就是实现的过程;不变的是结果。
3.Comparable与Comparator
3.1 描述Comparable接口的用途。为什么某个类实现了Comparable接口就可以直接使用Arrays.sort对其进行排序?
Comparable接口用来比较此对象与指定对象的顺序的自然比较方法,此接口强行对实现它的每个类的对象进行整体排序。
3.2 有了Comparable接口为什么还需要Comparator接口呢?
Comparable接口只能按照一种规则排序,而Comparator可以按照多种方式排序。
4.面向接口案例分析
4.1 画出类关系图,描述每个类与接口的作用。
Student类:定义基本属性。
StudentDao接口:定义三个抽象方法读取,写入,输出。
StudentDaoArraylmpl:实现StudentDao接口的三个方法并用数组存取。
StudentDaoListlmpl:实现StudentDao接口的三个方法并用表存取。
4.2 StudenDaoListImpl与StudentDaoArrayImpl有何区别?
它们有各自的private属性,实现的方法不同。StudentDaoArrayImpl使用的是数组,而StudenDaoListImpl使用的ArraysList。
5.什么是面向接口编程?面向接口编程的好处是什么?
结合题目3与4中的Test.java的代码讨论分析。
3. 码云上代码提交记录及PTA实验总结
3.1. 码云代码提交记录
3.2. PTA实验总结
通过实验对Comparable和Comparator的应用有了更深入的了解。
转载于:https://www.cnblogs.com/set-L-Ann/p/6617941.html
201521123097《Java程序设计》第五周学习总结相关推荐
- 20155227 2016-2017-2 《Java程序设计》第九周学习总结
20155227 2016-2017-2 <Java程序设计>第九周学习总结 教材学习内容总结 JDBC简介 JDBC全名Java DataBase Connectivity,是java联 ...
- 20155303 2016-2017-2 《Java程序设计》第二周学习总结
20155303 2016-2017-2 <Java程序设计>第二周学习总结 教材学习内容总结 『注意』 "//"为单行批注符: "/*"与&quo ...
- 20155313 2016-2017-2 《Java程序设计》第二周学习总结
20155313 2016-2017-2 <Java程序设计>第二周学习总结 教材学习内容总结 1.1 基本类型 整数:可细分为short整数(占2字节).int整数(占4字节)与long ...
- 20165203 2017-2018-2 《Java程序设计》第一周学习总结
20165203 2017-2018-2<Java程序设计>第一周学习总结 教材学习内容总结 (一)Java的地位 Java是面向对象编程,并涉及网络.多线程等重要的基础知识,是一门很好的 ...
- 20155229 2016-2007-2 《Java程序设计》第一周学习总结
20155229 2016-2007-2 <Java程序设计>第一周学习总结 教材学习内容总结 1~18章的提问: 第一章:怎样撰写Java才不会沦于死背API文件.使用"复制. ...
- 20175227张雪莹 2018-2019-2 《Java程序设计》第九周学习总结
20175227张雪莹 2018-2019-2 <Java程序设计>第九周学习总结 教材学习内容总结 第十一章 JDBC数据库操作 MySQL数据库管理系统 下载安装MySQL 若下载的是 ...
- 20155305乔磊2016-2017-2《Java程序设计》第九周学习总结
20155305 2016-2017-2 <Java程序设计>第九周学习总结 教材学习内容总结 JDBC入门 JDBC简介 1.JDBC是java联机数据库的标准规范,它定义了一组标准类与 ...
- 20155210潘滢昊 2016-2017-2《Java程序设计》第一周学习总结
20155210 2016-2017-2<Java程序设计>第一周学习总结 教材学习内容总结 1.1.1: 本节主要讲了Java的由来,1995年5月23日是Java公认的诞生日.还有版本 ...
- 20175317 《Java程序设计》第一周学习总结
20175317 <Java程序设计>第一周学习总结 教材学习内容总结 本周学习了Java大致的开发步骤,完成了课件自带的习题. 学习了在windows与Linux系统下不同的编译方法,掌 ...
- 20172318 2016-2017-2 《Java程序设计》第一周学习总结
20172318 2016-2017-2 <Java程序设计>第一周学习总结 教材学习内容总结 在教材中基本明白了计算机系统的运行方式,了解了对于高级语言是使用是掌握好编程的关键,掌握了一 ...
最新文章
- Java 数据类型转换
- 自己动手写RTP服务器——关于RTP协议
- Oracle SQL优化
- kafka 分区和副本以及kafaka 执行流程,以及消息的高可用
- 2022年全球及中国盐酸异丙肾上腺素行业投资风险与运营盈利分析报告
- mysql怎么用游标修改数据,如何使用mysql 游标?
- 一个不错的shell 脚本入门教程
- 谷歌TPU优化新进展:数据吞吐提升15倍、每瓦特性能猛增
- java 输出编码_从代码看java输入输出中的编码和解码
- 公司 邮件 翻译 培训 长难句 结课
- 【Python CheckiO 题解】All the Same
- 在Visual Studio 2005下配置WinPcap开发环境
- python实现决策树算法
- 数学分析教程(第三版)读后感
- k近邻(kNN)算法的Python实现(基于欧氏距离)
- 关于我从有转行的想法到下定决心转行的经历
- Swift MD5加密
- Android本地视频播放器开发--NDK编译FFmpeg
- 自动化立体仓库系统(Automated Storage and Retrieval System)
- 串口传输速率为9600bps意味着每分钟最多可传送多少个ASCII码字符