• 201521123024 《Java程序设计》第5周学习总结


    1. 本周学习总结

    2. 书面作业

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

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

    不能编译通过

    class Parent{
        private int i=1;//private应改成protected
        protected int j=2;
        protected int geti(){
            return i;
        }
        public void getj(){
            System.out.println(j);
        }
    }
    

    输出结果为

    1
    2
    2
    1
    1
    2
    1
    

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

    不能编译通过;提示The type Parent is not visible需要将Parent类加上Public,将protected int j=2;改为public int j=2;

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

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

    改造前,未使用抽象类,只能控制台输出;改造后,使用了抽象类,既可以在控制台输出,也可以使用对话框图形界面等输入。

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

    可以新建一个图形界面的类去继承前面所提到的抽象类。

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

    abstract修饰类,会使这个类成为一个抽象类,这个类将不能生成对象实例,但可以做为对象变量声明的类型,也就是编译时类型,抽象类就像当于一类的半成品,需要子类继承并覆盖其中的抽象方法。abstract修饰方法就是要求其子类覆盖(实现)这个方法。调用时可以以多态方式调用子类覆盖(实现)后的方法,也就是说抽象方法必须在其子类中实现,除非子类本身也是抽象类。

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

    变化的是环境,不变的是这个抽象类

    3.Comparable与Comparator

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

    这是让自定义类的对象变成“可比较的”对象,能被排序、查找等各类工具比较使用。

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

    Comparable和Comparator都是用来实现集合中元素的比较、排序的。
    Comparable是在集合内部定义的方法实现的排序,位于java.lang下。
    Comparator是在集合外部实现的排序,位于java.util下。

    4.面向接口案例分析

    阅读Case-StudentDao.zip案例

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

    Student是一个包含名字属性的类。StudentDao接口中包含writeStudent和readStudent以及diplayAllStudent方法。

    4.2 StudenDaoListImpl与StudentDaoArrayImpl有何区别?

    StudenDaoListImpl使用ArrayList,而StudentDaoArrayImpl是固定了大小为80的数组。

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

    结合题目3与4中的Test.java的代码讨论分析。不要百度原封不动照搬!

    系统的各种功能是由许许多多的不同对象协作完成的,在系统分析和架构中,分清层次和依赖关系,每个层次不是直接向其上层提供服务(即不是直接实例化在上层中),而是通过定义一组接口,仅向上层暴露其接口功能,上层对于下层仅仅是接口依赖,而不依赖具体类。

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

    3.1. 码云代码提交记录


    实验总结:
    使用Comparable接口,运用compareTo的方法。它的返回值直接决定排序是升序还是降序。
    想要运用compareTo需要用到Comparable接口。
    使用Comparable或者Comparator接口前需要查询相关文档,了解使用方法

  • 相关阅读:
    分析问题的方法
    听听冯洛伊曼的概念机器的齿轮声
    Nginx支持WebSocket配置
    原型模式
    redis日志位置
    修改centos7远程端口和nginx安全设置
    Java输出小端二进制文件
    centos7安装Java8
    Nginx教程
    centos7.6安装postgresql10
  • 原文地址:https://www.cnblogs.com/a1078538610/p/6615880.html
Copyright © 2020-2023  润新知