首页 > 其他 > 详细

课堂继承与多态作业

时间:2017-11-09 13:48:42      阅读:244      评论:0      收藏:0      [点我收藏+]

问题一:

 技术分享

 

解决:

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

问题二:

 技术分享

 

解决

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

运行结果截图:

 技术分享

 

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

原因:

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

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

 第二个需要强制转换为子类,第四个子类之间不能转换,第五个之前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

运行结果截图:

技术分享

 

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

课堂继承与多态作业

原文:http://www.cnblogs.com/z12568/p/7808733.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!