1. 本周学习总结

2. 书面作业

1. 代码阅读:Child压缩包内源代码

1.1 com.parent包中Child.java文件能否编译通过?哪句会出现错误?试改正该错误。并分析输出结果。

 不能编译,出现错误,因为i不能直接引用

1.2 另外一个包中的OutOfParentPackage.java,能否编译通过?提示什么错误?分析原因。

 不能编译,出现错误
提示 The type Parent is not visible

1.3 回答:如果为了访问到protected修饰的属性或方法应该怎么办?

 protected有访问范围,同一个包或是子类

2. abstract进阶:阅读GuessGame抽象类的设计与使用源代码

2.1 Guess改造前代码很简单,而改造后的代码使用了抽象类、抽象方法看起来很复杂,那这样的改造到底有什么好处呢?

 未改造前,只在控制台输出
改造后,通过抽象类,实现多种输出,不再局限于控制台输出

2.2 如果想将该游戏改造成图形界面,应该进行一些什么操作?

 使用java图形界面,即导入java.swing.*包,通过它将该游戏改造成图形界面

2.3 结合该例子,你觉得什么时候应该使用abstract?

 需要子类继承并覆盖其中的抽象方法的时候

2.4 重要:在这个例子中,变化的是什么,不变的是什么?尝试结合abstract、继承等概念进行说明。

 变化的是输入方法,不变的这个最终的这个游戏的实现

3. Comparable与Comparator

3.1 描述Comparable接口的用途。为什么某个类实现了Comparable接口就可以直接使用Arrays.sort对其进行排序?

 Comparable接口是用来比较两个对象,实现Comparable接口的基础上才能实现,Comparable接口上有Arrays.sort的方法

3.2 有了Comparable接口为什么还需要Comparator接口呢?

 java提供了只包含一个compareTo()方法的Comparable接口

4. 面向接口案例分析,阅读Case-StudentDao.zip案例

4.1 画出类关系图,描述每个类与接口的作用。

4.2 StudenDaoListImpl与StudentDaoArrayImpl有何区别?

 StudenDaoListImpl通过ArrayList实现
StudentDaoArrayImpl通过数组实现

5. 什么是面向接口编程?面向接口编程的好处是什么?结合题目3与4中的Test.java的代码讨论分析。不要百度原封不动照搬!

 面向接口编程是通过各个对象之间的协作关系来实现整个系统
面向接口编程的好处是便于修改,当系统出现问题,针对问题所在的类进行修改
Comparable和Comparator两个接口,进行比较排序
StudentDao接口,通过ArrayList、数组两个方法实现StudentDao接口

3. 码云上代码提交记录及PTA实验总结

3.1. 码云代码提交记录

3.2. PTA实验

 在实践中了解、学习Comparable接口

最新文章

  1. 解决使用Skia图形库时遇到的几个问题
  2. springMVC数据验证出现404错误解决办法
  3. Atitit.java eval功能的实现  Compiler API
  4. Effective Java 11 Override clone judiciously
  5. hihocoder 1082 然而沼跃鱼早就看穿了一切(字符串替换)
  6. java jvm学习笔记四(安全管理器)
  7. quartz.net动态添加job
  8. ABP入门系列(15)——创建微信公众号模块
  9. TypeScript入门(一)
  10. obj-c中-fobjc-arc-exceptions的解释
  11. 《Java大学教程》—第22章 多线程程序
  12. vue-cli 搭建的项目处理不同环境下请求不同域名的问题
  13. 通过修改EIP寄存器实现远程注入
  14. IQueryable与IEnumerable
  15. opencv2函数学习之flip:实现图像翻转
  16. PeopleSoft单点登录工作原理
  17. Docker 自定义网络
  18. Kafka实现细节(三)
  19. SQL Server 2012 Express LocalDB 的作用
  20. (剑指Offer)面试题39:二叉树的深度

热门文章

  1. Linux - 简明Shell编程07 - 数组(Array)
  2. Java范型
  3. 在Eclipse下运行Jmeter3.0源代码
  4. 集合set
  5. Json应用案例之FastJson
  6. Python 函数装饰器和闭包
  7. Node.js之错误处理与断言处理
  8. Mybatis分页插件PageHelper正确的使用方法(网上有2篇不够科学的文章)
  9. C/C++ 对优先级与结合性的理解
  10. python+selenium自动化软件测试(第6章):selenium phantomjs页面解析使用