zoukankan      html  css  js  c++  java
  • 201521123038 《Java程序设计》 第五周学习总结

    本周学习总结

    书面作业

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

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

    答:无法编译通过;System.out.println(i)出错;将private改成protected,输出结果如下;
    1
    2
    2
    1
    1
    2
    1

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

    答:不能编译通过,提示的错误是The type Parent is not visible.发生这个错误的原因在于Parent类不是public的。

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

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

    答:改造后,使用抽象类,可以在控制台,也可以使用对话框图形界面等输入。

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

    答:使该类继承此抽象类,然后用图形界面支持的输入输出语句来重写抽象类当中的抽象方法。

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

    答:在具体方案未完全实现时,可以使用抽象类。

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

    答:变化的是输入的方法,不变的是抽象类和方法。

    3.Comparable与Comparator

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

    答:Comparable接口的用途是强行对实现它的每个类的对象进行整体排序;因为Comparable接口只有public int compareTo(T o);一个方法,所以覆盖compareTo这个方法即可实现自动排序,这样就不用自己写一个排序的方法。

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

    答:因为comparable接口是一个内比较器,但是当我们想要通过不同类型的比较方式去排序时就需要comparator。

    4.面向接口案例分析

    阅读Case-StudentDao.zip案例

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


    Student类:有String name属性;有getName()、setName()、toString()和构造函数方法,是StudentDaoArrayImpl类和StudenDaoListImpl类的父类。
    StudentDao接口:提供三个抽象方法,写入学生数据、读取学生数据和显示所有学生信息。
    StudentDaoArrayImpl类:从名称上看使用用数组来存放学生信息,实现StudentDao接口的三个抽象方法。

    4.2 StudenDaoListImpl与StudentDaoArrayImpl有何区别?

    答:StudenDaoListImpl是用ArrayList实现的,而StudentDaoArrayImpl是用数组实现的。

    5.什么是面向接口编程?面向接口编程的好处是什么?

    结合题目3与4中的Test.java的代码讨论分析。不要百度原封不动照搬!
    答:百度了之后很难理解,实在不会写。

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

    3.1. 码云代码提交记录

    3.2. PTA实验

    1.通过实现接口,达到将功能抽象化的作用,便于程序设计与维护
    2.对Comparable与Comparator的运用有新的认识。

  • 相关阅读:
    encodeURIComponent编码时为什么要编码两次
    JS校验身份证号的合法性
    react-router与react-router-dom使用时的区别
    数组去重
    window的cmd命令行下新增/删除文件夹及文件
    数组排序【冒泡排序、快速排序、选择排序】
    个人搭建后台管理模板 Bootstrap4 ,ASP.NET Core,EF Core,JWT
    个人搭建后台管理模板 Bootstrap4 ,ASP.NET Core,EF Core,JWT
    react-starter-projects
    基于H.ui.Admin UI模板的网站管理后台
  • 原文地址:https://www.cnblogs.com/br0823/p/6618078.html
Copyright © 2011-2022 走看看