zoukankan      html  css  js  c++  java
  • 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接口前需要查询相关文档,了解使用方法

  • 相关阅读:
    萌新向Python数据分析及数据挖掘 第三章 机器学习常用算法 第三节 梯度下降法 (上)理解篇
    萌新向Python数据分析及数据挖掘 第三章 机器学习常用算法 第二节 线性回归算法 (下)实操篇
    萌新向Python数据分析及数据挖掘 第三章 机器学习常用算法 第二节 线性回归算法 (上)理解篇
    萌新向Python数据分析及数据挖掘 第三章 机器学习常用算法 第一节 KNN算法 (下)实操篇
    萌新向Python数据分析及数据挖掘 第三章 机器学习常用算法 第一节 KNN算法 (上)理解篇
    萌新向Python数据分析及数据挖掘 第二章 pandas 第五节 Getting Started with pandas
    Oracle数据库安装和授权
    c# 如何获取JSON文件以及如何获取Config文件(framework 和 net .Core)
    C#Core查询数据库存储EXCEL文件
    如何在WINDOW系统下编译P12证书制作
  • 原文地址:https://www.cnblogs.com/a1078538610/p/6615880.html
Copyright © 2011-2022 走看看