父类与子类之间的关系
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
父类与子类之间的关系相关推荐
- C++继承中父类和子类之间的赋值兼容
文章目录 1 C++继承中父类和子类之间的赋值兼容 1.1 父子间的赋值兼容 1.2 特殊的同名函数 1 C++继承中父类和子类之间的赋值兼容 1.1 父子间的赋值兼容 在公有继承的条件下,子类对象可 ...
- java子类和父类实例_java中父类与子类之间的转换示例
java中父类与子类之间的转换示例有以下三点: 示例一 父类强制转子类 pre class="brush:php;toolbar:false">Father f = new ...
- C++继承中父类和子类之间的同名覆盖
文章目录 1 C++继承中父类和子类的同名成员变量 1.1 父类和子类的同名成员变量 2 C++继承中父类和子类的同名成员函数 2.1 父类和子类中的同名成员函数 1 C++继承中父类和子类的同名成员 ...
- python的父类和子类的继承关系和super()的使用
子类继承父类的私有方法重写无效,公有方法可以重写,引用父类方法可用super()实现 class A(object):def __init__(self):self.__private()self.p ...
- 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 ...
- python创建学生类和教师类,python,学校成员类的例子,老师和学生(python class父类与子类之间的联系与逻辑)...
python语言的编辑文本的格式比较严格,即使语法正确,格式不对,则无法运行出结果,需要自己不断的摸索.实践才可熟练掌握:# -*- coding: utf-8 -*- # Filename:Scho ...
- 信息系统项目管理师必背核心考点(四)UML类与类之间的关系
科科过<每天一小时 俩月拿证>为您带来软考信息系统项目管理师核心重点考点(四):UML类与类之间的关系,内含思维导图+真题.本资料由科科过整理. [信息系统项目管理师核心考点]UML类与类 ...
- UML图中类之间的关系:依赖,泛化,关联,聚合,组合,实现
类与类图 1) 类(Class)封装了数据和行为,是面向对象的重要组成部分,它是具有相同属性.操作.关系的对象集合的总称. 2) 在系统中,每个类具有一定的职责,职责指的是类所担任的任务,即类要完成什 ...
- UML建模与软件开发设计(六)——类图设计与类之间的关系
3.2.5.关联关系的分类 然而,通过关联关系来描述类与类时还是比较抽象,有些关系的细节难以通过关联关系表达出来,比如类A与类B的角色定位.数量关系,关联方向等都描述得不够清晰准确(但你不能说仅仅通过 ...
最新文章
- VUE 框架添加全局公共方法 , 保留小数点后两位
- Spring Boot——2分钟构建springweb mvc REST风格HelloWorld
- 内核同步机制——自旋锁
- java ddd 领域事件_Cribbb基于DDD/Domain Event领域事件的开源PHP通知系统
- 系统架构师学习笔记-操作系统(一)
- 【链表】剑指offer:从尾到头打印链表
- NWT失败反省:不想办法开展业务,天天想着让别人不能用
- UE4路径跟随插件使用文档
- 用showdown预览markdown文件(vue3.0)
- 毕业设计-基于机器视觉的手写字识别系统
- mysql用update select批量处理数据
- Java Web小课程3——写servlet
- 计算机毕业设计JSPMjava平台购物系统
- Mencoder 介绍
- 直接存储器存取(DMA)有哪3种工作方式?
- 在写论文的参考文献时,有的段落空格很大,有的段落则正常,原因及解决方法(wps)
- 在Linux中Realplay 10.0 的安装和使用(转)
- 根据老师编号,统计其所授课程的平均成绩及学生人数。
- html超链接及锚链接的简单使用
- WebGoat通关攻略