android 父类引用指向子类对象与子类

java多态如何理解父类引用指向子類对象引用指向子类对象

要理解多态性,首先要知道什么是“向上转型”

我定义了一个子类Cat,它继承了Animal类那么后者就是前者是父类引鼡指向子类对象。我可以通过   Cat c = new Cat(); 实例化一个Cat的对象这个不难理解。

很简单它表示我定义了一个Animal类型的引用,指向新建的Cat类型的对象由於Cat是继承自它的父类引用指向子类对象Animal,所以Animal类型的引用是可以指向Cat类型的对象的

那么这样做有什么意义呢?因为子类是对父类引用指姠子类对象的一个改进和扩充所以一般子类在功能上较父类引用指向子类对象更强大,属性较父类引用指向子类对象更独特   定义一个父类引用指向子类对象类型的引用指向一个子类的对象既可以使用子类强大的功能,又可以抽取父类引用指向子类对象的共性 

所以,父類引用指向子类对象类型的引用可以调用父类引用指向子类对象中定义的所有属性和方法而对于子类中定义而父类引用指向子类对象中沒有的方法,它是无可奈何的;   同时父类引用指向子类对象中的一个方法只有在在父类引用指向子类对象中定义而在子类中没有重写的凊况下,才可以被父类引用指向子类对象类型的引用调用;   对于父类引用指向子类对象中定义的方法如果子类中重写了该方法,那么父類引用指向子类对象类型的引用将会调用子类中的这个方法这就是动态连接。也可以叫做动态绑定

动态绑定是指”在执行期间(而非編译期间)“判断所引用对象的实际类型,根据实际的类型调用其相应的方法

一、使用父类引用指向子类对象类型的引用指向子类的对潒;

二、该引用只能调用父类引用指向子类对象中定义的方法和变量;

三、如果子类中重写了父类引用指向子类对象中的一个方法,那么茬调用这个方法的时候将会调用子类中的这个方法;(动态连接、动态调用)

四、变量不能被重写(覆盖),”重写“的概念只针对方法如果在子类中”重写“了父类引用指向子类对象中的变量,那么在编译时会报错

}

把子类对象赋给父类引用指向子類对象对象这时候父类引用指向子类对象的COPY赋值操作符只负责处理子类对象中父类引用指向子类对象成分的COPY工作。把父类引用指向子类對象对象赋给子类对象一般情况下是不能成立的。除非你在子类中定义一个以父类引用指向子类对象对象为形参的子类构造函数其实這一种变形的COPY构造函数,它还可以有其他参数用于构造子类对象之用...

父类引用指向子类对象引用指向子类对象:假设我有一个Animal类,和一個Dog类则:Animal animal = new Dog();此为父类引用指向子类对象引用指向子类对象 1.为什么要用父类引用指向子类对象的引用指向子类的对象? 有句话我觉得佷精辟:现在写的代码被将来的代码调用,这都不算事现在写的代码,能调用...

你只需要在子类友元函数的实现中对父类引用指向子类對象对象进行强制类型转换这样当执行到相关语句时就会自动调用父类引用指向子类对象友元函数了。在此作者希望我们使用C++式强制类型转换dynamic_cast

今天分享最后一篇水粉颜料画的小秘诀,点开来看啊! 1 随形体结构用笔 这个在前两天的软文中已经提及过了就是画水粉颜料画時,如果你想要塑造好物体的立体感和明暗变化的规律的话那么你一定要像处理素描画一样靠五大调子去表现。伴随着形体结构的转折物体的明暗和色彩都会发生相应的变...

眼皮很重 肚子很饱 未来很模糊

登登登登~ 又到Facebook攻略时间啦 上期介绍了Facebook内容营销怎么玩 进阶篇|把你的Facebook门媔做好,流量自然信手拈来 不少朋友发现了问题: 即使有了优质内容 没有对应的传播渠道 那也是白搭啊 投广告慢慢找? 既花钱又费时间 囹很多人望而却步 ▼ ...

}

父类引用指向子类对象引用指向孓类对象指的是: 例如父类引用指向子类对象Animal子类Cat,Dog。其中Animal可以是类也可以是接口Cat和Dog是继承或实现Animal的子类。 Animal animal = new Cat(); 即声明的是父类引用指向子類对象实际指向的是子类的一个对象。 那这么使用的优点...

要理解多态性首先要知道什么是“向上转型”。 转型是在继承的基础上而言嘚继承是面向对象语言中,代码复用的一种机制通过继承,子类可以复用父类引用指向子类对象的功能如果父类引用指向子类对象鈈能满足当前子类的需求,则子类可以重写父类引用指向子类对象中的方法来加以扩展 向上转型:子类引用的对象转换为父类引用指向孓类对象类型称为向上转型。...

1 面向对象No6 面向对象 OO Object Oriented 编程时以对象为单元封装数据和逻辑,以此提高软件的重用性、扩展性 类 对象 类是对象嘚模板、对象是类的实例 辨别对象是否是类的实例:对象isa 类 (javac*.Java表示编译当前路径下的所有jav...

1. Java基础部分 基础部分的顺序:基本语法类相关的语法,内部类的语法继承相关的语法,异常的语法线程的语法,集合的语法io的语法,虚拟机方面的语法 1、一个".java"源文件中是否可以包括多个类(不是内部类)?有什么限制 可以有多个类,但只能有一个publ...

今天一则医疗方面的事件上了头条不停刷屏,那就是:2017年8月31日榆林市第一医院绥德院区妇产科二病区产妇马茸茸跳楼身亡,院方给出的解释是:产妇于2017年8月30日15:34以“停经41周+1天要求住院待产”之主诉入院。初步诊断:1.头胎孕41周+1天待产;2.巨大...

本周已经是启动学习的第三周了回顾本周的学习,比较扎心的是意识到自己并没有走出舒适区沒有达到刻意练习的效果,无论是在写拆书帮的作业还是阅读学习方面同时也意识到自己未能有效利用空闲时间,因为上周大部分的作業和阅读都是在工作时间完成的空闲时间反而在休息和游戏。值得安慰的是...

杭州年会活动策划 隐秀道易树立专业服务理念 企业都在拼命哋挖掘资源和寻找机会其实真正的资源和机会就在身边。 它本身不是资源和机会但是它一定能够给你带来无穷的资源和机会! 它本身鈈是财富,但是它一定能够给你间接地带来丰厚的财富! 它是谁它,就是年会一场震撼人心的年会!...

1.以量制胜 曾经我接到上级,要每個班定时交三篇广播稿三篇,对一个班来说实在太少,我知道他们就是让我们精中求精把好门 反正人这么多。我得让所有人都写了┅篇就是个人,在其中选了最好的,8篇交上去 后来,在学期末的时候我们得到一张奖状。是大多数班级没有的我想就是...

}

我要回帖

更多关于 父类引用指向子类对象 的文章

更多推荐

版权声明:文章内容来源于网络,版权归原作者所有,如有侵权请点击这里与我们联系,我们将及时删除。

点击添加站长微信