zoukankan      html  css  js  c++  java
  • 课堂继承与多态作业

    问题一:

     

    解决:

    之所以调用父类的构造方法是因为在父类中,可能存在私有属性需要在构造方法内初始化,不能反过来,因为子类继承父类,子类的构造方法在第一句会隐式的调用父类的构造方法,完成初始化。

    问题二:

     

     

    解决

    判断第二个和第四个出现错误

    运行结果截图:

     

    经过运行,第二个,第四个和四五个不能正常运行

    原因:

    子类对象可以直接赋给基类变量。

    基类对象要赋给子类对象变量,必须执行类型转换

     第二个需要强制转换为子类,第四个子类之间不能转换,第五个之前m已经转化为Dog类,再转化为子类Cat与第四个错误相同,犯了子类之间转化的错误

    问题三:

    请自行编写代码测试以下特性(动手动脑):

    在子类中,若要调用父类中被覆盖的方法,可以使用super关键字。

    解决

    源代码:

    package com.test;

    public class Test8 {

      public static void main(String[] args) {

        // TODO 自动生成的方法存根

      Children child=new Children();

      child.dowork();

       }

     }

    class Parents

    {

      public void dowork()

      {

        System.out.println("父类方法");      //定义父类方法

      }

    }

    class Children extends Parents

    {

      public void dowork()                   //定义子类方法

      {

      super.dowork();                   //调用被覆盖的父类方法

      System.out.println("子类方法");

      }

    }

    运行结果截图:

     

    问题四:

     

    解决:

    预想结果:

    Parent.printValue(),myValue=100

    Child.printValue(),myValue=200

    Child.printValue(),myValue=200

    Child.printValue(),myValue=200

    Child.printValue(),myValue=201

    运行结果截图:

    转化为哪个类,就调用那个类的对应方法,++后缀运算符在输出后再自动加一

  • 相关阅读:
    2020系统综合实践 第3次实践作业
    2020系统综合实践 第2次实践作业
    2020系统综合实践 第1次实践作业
    WireShark组 2019 SDN大作业
    2019 SDN阅读作业
    第07组 Beta版本演示
    OO第四单元总结
    OO第三单元总结
    OO第二单元总结
    OO第一单元总结
  • 原文地址:https://www.cnblogs.com/z12568/p/7808733.html
Copyright © 2011-2022 走看看