• 5


    1. 本章学习总结

    今天主要学习了三个知识点

    • 封装
    • 继承
    • 多态

    2. 书面作业

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

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

    答:不能,语句System.out.println(i);中的i会出现错误,子类child文件继承父类parent,在parent文件中语句private int i=1i是私有的,必须改成protected,方可执行。
    执行结果:

    1.2 另外一个包中的OutOfParentPackage.java,能否编译通过?提示什么错误?分析原因。如何更改才能使之正常编译?

    答:不能。
    会出现以下错误:


    需要将parent文件中的protected int j=2 protected int geti()改为public int j=2; public int geti()才能正常编译。

    2. abstract进阶:阅读GuessGame抽象类的设计与使用源代码
    2.1 Guess改造前代码很简单,而改造后的代码使用了抽象类、抽象方法看起来很复杂,那这样的改造到底有什么好处呢?

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

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

    答:本题参考 Java论文 猜字游戏的实现 界面设计上,至少要有三部分来实现,一个输入,一个人提示,一个判断大小。

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

    答:
    abstract类定义:如果一个类中没有包含足够的信息来描绘一个具体的对象,这样的类叫抽象类。
    使用:分析问题时仅有大体的框架,没有具体的方法,这时候就需要使用abstract类。
    例子:猜字游戏中我们大体上知道,父类Guessgame需要有随机print数字、输入数字等方法。子类ConsoleGame有具体的方法。这时候就使用到了abstract。

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

    答:这个例子中,生成的数字是变化的,而且是随机的,但是对数字处理的方法是不变的。父类GuessGame使用abstract,

    参考资料:

    底下的是我从百度搜索得到的结果

    Q3. 编写代码

    public class HelloWorld{
        public static void main(String[] args){
            System.out.println("hi");
        }
    }
    

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

    3.1本周Commit历史截图

    在码云的项目中,依次选择“统计-Commits历史-设置时间段”,然后搜索并截图,如下图所示

    3.2 实验总结

    实验碰到的问题、思考、收获与解决方案
    底下是一个表格

    id 姓名
    1 张三
    2 李四

    4. 其他的一些题目,如特别加分的实验题目、小任务、自己用Java做的一些小东西(可选,加分)


    例子结束

  • 相关阅读:
    将vue文件script代码抽取到单独的js文件
    git pull 提示错误:Your local changes to the following files would be overwritten by merge
    vue和uniapp 配置项目基础路径
    XAMPP Access forbidden! Access to the requested directory is only available from the local network.
    postman与newman集成
    postman生成代码段
    Curl命令
    POST方法的Content-type类型
    Selenium Grid 并行的Web测试
    pytorch转ONNX以及TnesorRT的坑
  • 原文地址:https://www.cnblogs.com/Min21/p/6601041.html
Copyright © 2020-2023  润新知