黑马程序员 黑马程序员官网
第一讲 多态
多态可以理解为事物存在的多种体现形态。
例:动物中猫,狗。猫这个对象对应的类型是猫类型,如:猫 x = new猫();同时猫也是动物中的一种,也可以把猫称为动物。动物 y = new猫();那么动物就是猫和狗具体事物中抽取出来的父类型。父类型引用指向了子类对象。
一、多态的体现
1、父类的引用指向了自己子类的对象。
2、父类的引用也可以接收自己的子类对象。
如:Animal a = new Cat();
其中就将父类型的 a 引用指向了子类的对象。
二、多态的前提
1、类与类之间必须有关系,要么继承,要么实现。
2、存在覆盖。父类中有方法被子类重写。
三、多态的利与弊
利:提高了程序的可扩展性和后期可以维护性。
弊:只能使用父类中的引用访问父类中的成员。也就是说使用了多态,父类型的引用在使用功能时,不能直接调用子类中的特有方法。如:Animal a = new Cat();这代码就是多态的体现,假设子类Cat中有特有的抓老鼠功能,父类型的 a就不能直接调用。这上面的代码中,可以理解为Cat类型提升了,向上转型。
如果此时父类的引用想要调用Cat中特有的方法,就需要强制将父类的引用,转成子类类型,向下转型。如:Catc = (Cat)a;
注:如果父类可以创建对象,如:Animal a = new Animal();此时,就不能向下转型了,Cat c = (Cat)a;这样的代码就变得不容许,编译时会报错。所以千万不能出现这样的操作,就是将父类对象转成子类类型。
我们能转换的是父类引用指向了自己的子类对象时,该引用可以被提升,也可以被强制转换。多态至始至终都是子类对象在做着变化。
下面就是一个多态的示例:
[java] view plaincopy
更多阅读
红米手机怎么预定 苹果官网怎么预定手机
红米手机怎么预定——简介在经过8月12号和8月20号的二轮红米手机抢购,如果你还未成功抢购到红米手机的话,请不要放弃。在8月27号12点小米还会继续开放购买。这里简单介绍如何在小米官网预约红米手机的方法。红米手机怎么预定——工具
如何在华硕官网下载驱动两种方法 华硕官网怎么下载驱动
如何在华硕官网下载驱动(两种方法)——简介我是华硕的用户,在华硕官网上不知道驱动如何下载,折腾了半天才找到,为了节省其他华硕用户的时间,特地把如何下载驱动的步骤发上来和大家共享如何在华硕官网下载驱动(两种方法)——进入搜索
登陆日服CF官网注册教程 psn日服注册教程
CF是网络游戏《穿越火线》的简称,是韩国Smile Gate公司在2008年推出的次时代网络枪战游戏大作。CF是“锎”的对应元素符号。CF卡是一种袖珍型的存储介质。遗传性疾病囊性纤维化简称CF。另外CF还是其他一些术语的缩写或简称。今天要
小米官网怎么抢手机 怎样在小米商城抢手机
小米官网怎么抢手机——简介小米手机饥饿营销方式让购买小米手机成为一大难事,不管官方发售多少台,也都将被瞬间秒杀。下面介绍一些方法希望能够帮助你更好的抢到小米手机,不管你是否是米粉,也不管你抢购了多少次。小米官网怎么抢手机
官网版photoshop cs5破解方法无需序列号 photoshopcs5序列号
官网版photoshop cs5破解方法(无需序列号)——简介很多网友下载安装官网版photoshop cs5(PS5)需要序列号而烦恼,小编给大家讲解如何不要序列号的情况下破解官网版photoshop cs5(PS5)。简单、易学、方便!告别注册机的烦恼!官网版photosho