黑马程序员技术交流社区
标题:
java多态性问题
[打印本页]
作者:
tiancairc
时间:
2014-10-7 23:56
标题:
java多态性问题
多态性在java中表现为方法的重载或复写、对象的多态性。前面那个我能够理解,但是对象的多态性始终不明白,谁能帮忙给讲讲,最好能够通俗易懂的讲出来
作者:
luofeng
时间:
2014-10-8 05:21
父类 引用 = new 子类对象()
作者:
18643448863
时间:
2014-10-8 06:18
一个具体对象有多钟表现形式,人分为男人与女人两种,宠物有猫 有狗 ,男人和女人就是人的多态性,猫和狗就是动物的性。在JAVA中提现多态 是用父类引用指向之类对象,就是 人 A 等于 男人对象。 人是父类引用 男人是子类对象。父类有的是子类中共拓的属性和方法。可以是抽象的,非抽象的。当多态时 只能调用子类对象在父类中有的方法。如果想要调用子类中特有的方法,就必须吧引用向下转型到人,如:男人=(男人)A,在转型是可能会出现引用指向的是女人,如果你想把女人转成男人那是不行的,所以要先判断一下这个引用指向的是男人 那么就转型,即 A instancof 男人 如果是 向下转型。
作者:
18643448863
时间:
2014-10-8 06:20
本帖最后由 18643448863 于 2014-10-8 06:28 编辑
多态就是 一种实物有多种表现形式,如人这类失误有男人女人之分。男人女人继承于人。 那么在JAVA中 用 父类引用指向子类对象来提现。既:Person m = new man(); 当多态时 只能调用 子类对象中,父类的方法。如果想要调用子类中的特有方法,需要将引用向下转型(父类引用转回子类引用)。 即:man m = (man) m ; 因为你不能把男人转成女人,即,不能把 Woman m =(Woman) m; 所以最好判断一下,m引用 是否是男人 ,即{m instanceof man,如果为真。就向下转型。 看视频可以理解的 如果理解不了,就多看几遍。
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2