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

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© wzh4488 中级黑马   /  2015-8-16 21:06  /  669 人查看  /  11 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

今天学完多态,感觉现在脑子里很乱,有太多的概念了。请大家帮忙简单解释一下,并且说说什么时候会使用多态。

11 个回复

倒序浏览
子类继承父类,并重载了父类中的方法,为了提高程序的扩展性,在创建对象时将子类的引用定义为父类,当实际调用其方法时,调用的是子类中重载的方法,这就是多态
回复 使用道具 举报
我来用生活的例子解答一下;
多态,可以说是一个事物能有多种表现形式。
比如:动物 是一个对象,自然界里面有N多种动物。
而狗、猫,本身也是独立的对象,但是又从属与动物。
如同楼上所说的,这就是涉及到了类与类的继承关系了。然后通过多态表现出来
回复 使用道具 举报
通俗说: 某一事物,在不同时刻表现出来的不同状态
要有3个条件:
1),有继承关系
2),有方法重写
3),父类应用指向子类对象     

例如 动物-> 猫-->跳火圈的猫
       动物-> 猫-->飞天的猫。。。{:2_45:}
回复 使用道具 举报
事物在不同时刻的不同形态。有子父类,不同形态时候使用。
回复 使用道具 举报
楼上解释的很清楚,可以参考一下
回复 使用道具 举报
1.  构造方法的重载属于多态
2. 向上引用属于多态
回复 使用道具 举报
boboyuwu 发表于 2015-8-18 08:51
1.  构造方法的重载属于多态
2. 向上引用属于多态

构造方法的重载是不属于多态的,既然都说重载了,肯定就不是多态,重写才是多态,而子类是不能重写父类的构造方法的,只能通过super()语句引用父类的构造方法
回复 使用道具 举报
周博文 发表于 2015-8-18 09:02
构造方法的重载是不属于多态的,既然都说重载了,肯定就不是多态,重写才是多态,而子类是不能重写父类的 ...

构造方法属于多态的,多态是什么,简单理解就是多种表现形式,方法名一样换不同参数表现的就不一样这不是多态是什么
回复 使用道具 举报
补充一下 上面他说的方法的重写也属于多态   
回复 使用道具 举报
多态:不同事物表现出来的多种形态
回复 使用道具 举报
简单的理解 就是父类和很多子类有共同的方法 方法名字一样 但是功能不同 这时候调用这个方法 只需要用父类引用指向多个子类对象 指向那个子类就是那个子类的方法 这就是多态
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马