A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© tiancairc 中级黑马   /  2014-10-7 23:56  /  1148 人查看  /  3 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

多态性在java中表现为方法的重载或复写、对象的多态性。前面那个我能够理解,但是对象的多态性始终不明白,谁能帮忙给讲讲,最好能够通俗易懂的讲出来

3 个回复

倒序浏览
父类  引用 = new 子类对象()
回复 使用道具 举报
一个具体对象有多钟表现形式,人分为男人与女人两种,宠物有猫 有狗 ,男人和女人就是人的多态性,猫和狗就是动物的性。在JAVA中提现多态 是用父类引用指向之类对象,就是 人 A 等于 男人对象。 人是父类引用 男人是子类对象。父类有的是子类中共拓的属性和方法。可以是抽象的,非抽象的。当多态时 只能调用子类对象在父类中有的方法。如果想要调用子类中特有的方法,就必须吧引用向下转型到人,如:男人=(男人)A,在转型是可能会出现引用指向的是女人,如果你想把女人转成男人那是不行的,所以要先判断一下这个引用指向的是男人 那么就转型,即 A instancof 男人 如果是  向下转型。
回复 使用道具 举报
本帖最后由 18643448863 于 2014-10-8 06:28 编辑

多态就是 一种实物有多种表现形式,如人这类失误有男人女人之分。男人女人继承于人。 那么在JAVA中 用 父类引用指向子类对象来提现。既:Person m =  new  man();  当多态时 只能调用 子类对象中,父类的方法。如果想要调用子类中的特有方法,需要将引用向下转型(父类引用转回子类引用)。 即:man m = (man) m ;  因为你不能把男人转成女人,即,不能把 Woman m =(Woman) m;  所以最好判断一下,m引用 是否是男人 ,即{m instanceof man,如果为真。就向下转型。 看视频可以理解的 如果理解不了,就多看几遍。

评分

参与人数 1技术分 +1 收起 理由
杨佳名 + 1 赞一个!

查看全部评分

回复 使用道具 举报 1 0
您需要登录后才可以回帖 登录 | 加入黑马