• 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做的一些小东西(可选,加分)


    例子结束

  • 相关阅读:
    瓜子二手车直卖网面试经历
    189. Rotate Array
    183. Customers Who Never Order
    182. Duplicate Emails
    文本的样式
    字体font
    定位position
    float引起的高度塌陷问题
    盒子大小 轮廓阴影 圆角
    文档流 颜色单位
  • 原文地址:https://www.cnblogs.com/Min21/p/6601041.html
Copyright © 2020-2023  润新知