1) 运行课件中的例题ParentChildTest.java,回答下列问题:

a) 左边的程序运行结果是什么?

b) 你如何解释会得到这样的输出?

第一个创建一个Parent对象,调用的是父类构造方法

第二个创建一个Child对象,调用的是子类的构造方法

第三个将子类的child的值赋给了parent,调用的是子类的构造方法

第四个parent.myValue++是对父类中的变量进行自加运算,而parent.printValue()实际上还调用的还是子类的构造方法

第五个((child)parent).myValue++是将parent对象强制转化成Child,所以指向的是Child类中的变量进行自加运算之后输出的。

Parent对象创建时并不是创建的Child或Child的子类,那么是不能强制转换成子类的

不能把孩子的赋给父亲,在这个程序中必须是孩子继承父亲。

c) 计算机是不会出错的,之所以得到这样的运行结果也是有原因的,那么从这些运行结果中,你能总结出Java的哪些语法特性?

当子类与父类拥有一样的方法,并且让一个父类变成一用一个子类对象时,调用方法由对象自己的“真实”类型所决定,对象是子类型的,它就调用子类型的方法,是父类型的,它就调用父类型的方法。

如果子类与父类有相同的的字段,则子类中的字段会代替或隐藏父类的字段,子类方法中访问的是子类中的字段,而不是父类中的字段。如果子类方法确实想访问父类中被隐藏的同名字段,可以用super关键字来访问它。

如果子类被当作父类使用,则通过子类访问的字段是父类的。

转载于:https://www.cnblogs.com/94qq/p/4959208.html

父类与子类之间的关系相关推荐

  1. C++继承中父类和子类之间的赋值兼容

    文章目录 1 C++继承中父类和子类之间的赋值兼容 1.1 父子间的赋值兼容 1.2 特殊的同名函数 1 C++继承中父类和子类之间的赋值兼容 1.1 父子间的赋值兼容 在公有继承的条件下,子类对象可 ...

  2. java子类和父类实例_java中父类与子类之间的转换示例

    java中父类与子类之间的转换示例有以下三点: 示例一 父类强制转子类 pre class="brush:php;toolbar:false">Father f = new ...

  3. C++继承中父类和子类之间的同名覆盖

    文章目录 1 C++继承中父类和子类的同名成员变量 1.1 父类和子类的同名成员变量 2 C++继承中父类和子类的同名成员函数 2.1 父类和子类中的同名成员函数 1 C++继承中父类和子类的同名成员 ...

  4. python的父类和子类的继承关系和super()的使用

    子类继承父类的私有方法重写无效,公有方法可以重写,引用父类方法可用super()实现 class A(object):def __init__(self):self.__private()self.p ...

  5. C++ static_cast相同父类的子类之间强制转换(子类A的指针转换成子类B)(Ray Tracing the next week 中BVH部分遇到的问题)

    万恶之源: hittable_list world = static_cast<hittable_list>(make_shared<bvh_node>(world, 0, 1 ...

  6. python创建学生类和教师类,python,学校成员类的例子,老师和学生(python class父类与子类之间的联系与逻辑)...

    python语言的编辑文本的格式比较严格,即使语法正确,格式不对,则无法运行出结果,需要自己不断的摸索.实践才可熟练掌握:# -*- coding: utf-8 -*- # Filename:Scho ...

  7. 信息系统项目管理师必背核心考点(四)UML类与类之间的关系

    科科过<每天一小时 俩月拿证>为您带来软考信息系统项目管理师核心重点考点(四):UML类与类之间的关系,内含思维导图+真题.本资料由科科过整理. [信息系统项目管理师核心考点]UML类与类 ...

  8. UML图中类之间的关系:依赖,泛化,关联,聚合,组合,实现

    类与类图 1) 类(Class)封装了数据和行为,是面向对象的重要组成部分,它是具有相同属性.操作.关系的对象集合的总称. 2) 在系统中,每个类具有一定的职责,职责指的是类所担任的任务,即类要完成什 ...

  9. UML建模与软件开发设计(六)——类图设计与类之间的关系

    3.2.5.关联关系的分类 然而,通过关联关系来描述类与类时还是比较抽象,有些关系的细节难以通过关联关系表达出来,比如类A与类B的角色定位.数量关系,关联方向等都描述得不够清晰准确(但你不能说仅仅通过 ...

最新文章

  1. VUE 框架添加全局公共方法 , 保留小数点后两位
  2. Spring Boot——2分钟构建springweb mvc REST风格HelloWorld
  3. 内核同步机制——自旋锁
  4. java ddd 领域事件_Cribbb基于DDD/Domain Event领域事件的开源PHP通知系统
  5. 系统架构师学习笔记-操作系统(一)
  6. 【链表】剑指offer:从尾到头打印链表
  7. NWT失败反省:不想办法开展业务,天天想着让别人不能用
  8. UE4路径跟随插件使用文档
  9. 用showdown预览markdown文件(vue3.0)
  10. 毕业设计-基于机器视觉的手写字识别系统
  11. mysql用update select批量处理数据
  12. Java Web小课程3——写servlet
  13. 计算机毕业设计JSPMjava平台购物系统
  14. Mencoder 介绍
  15. 直接存储器存取(DMA)有哪3种工作方式?
  16. 在写论文的参考文献时,有的段落空格很大,有的段落则正常,原因及解决方法(wps)
  17. 在Linux中Realplay 10.0 的安装和使用(转)
  18. 根据老师编号,统计其所授课程的平均成绩及学生人数。
  19. html超链接及锚链接的简单使用
  20. WebGoat通关攻略

热门文章

  1. Activity Intent相关FLAG介绍
  2. html5 --- 使用javascript脚本控制媒体播放
  3. 最有效的创建大数据模型的6个技巧
  4. 斐波那契数列规律的计算。
  5. java。接口和抽象类区别
  6. 对”命令“操作的命令
  7. 万里长征,始于足下——菜鸟程序员的学习总结
  8. 探讨程序员如何学习你不熟悉的技术,以及用什么样的方法去学习.
  9. Linux C语言调用C++动态链接库
  10. bootargs中的环境变量说明和一些常用的uboot命令