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

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© Hi.。 中级黑马   /  2015-12-27 10:33  /  909 人查看  /  9 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

java的三大特性,封装、继承、多态。
但我发现,我对多态表达的不是很好。如果就是单单一个问题:你说一说多态。该怎么全面的表达?

9 个回复

倒序浏览
父类的引用指向了子类对象
回复 使用道具 举报
编译看左边,运行看右边
回复 使用道具 举报
一大把手 发表于 2015-12-27 10:49
父类的引用指向了子类对象

如果面试时候,面试官问你,就这样回答吗?具体一点呀
回复 使用道具 举报
多态是“一个接口,多种方式”。一个程序可以出现同名但方法不同的情况。这主要是通过继承的方式来实现的,一个新的类在继承两一个类的时候,这个新类就需要重写父类的方法。
回复 使用道具 举报
18338762337 发表于 2015-12-27 11:03
多态是“一个接口,多种方式”。一个程序可以出现同名但方法不同的情况。这主要是通过继承的方式来实现的, ...

你这个。。。好像不对吧、首先,多态是指同一事物在不同时刻表现出的不同状态。
其次,这些好像说的也都不是多态。
一个程序中(指一个类),不允许出现同名同参数列表的方法,如果方法名相同参数列表不同,叫方法重载。
子父类中出现完全相同的方法,叫方法的重写。
回复 使用道具 举报
499087476 来自手机 中级黑马 2015-12-27 11:16:37
7#
这块我还不理解,不理解。
回复 使用道具 举报
Hi.。 中级黑马 2015-12-27 11:17:17
8#
如果我回答这个问题,我会说,多态是面向对象的三大特性之一,指的是同一事物在不同时刻表现出来的不同状态。它有3个前提:存在继承或者实现关系、有方法的重写、有父类或父接口的引用指向子类对象。它分为:具体类多态、抽象类多态、接口多态。关于多态中成员的访问特点,只有成员方法是"编译看左边运行看右边",因为只有方法,存在方法的重写;成员变量和静态方法,都是"编译看左边运行也看左边"。多态可以提高我们代码的维护性,也提高了代码的拓展性。但它也有弊端,父类不能使用子类的特有功能。

大概能说这些,可还是对多态的概念,表达不好,仅仅一句话带过了、还有什么需要补充或者修改的吗?
回复 使用道具 举报
Hi.。 发表于 2015-12-27 10:58
如果面试时候,面试官问你,就这样回答吗?具体一点呀

多态可以理解为事物存在的多种体现形态。
多态的体现:
父类的引用指向了子类对象;
父类的引用也可以接收自己子类对象。
多态的好处:
多态的出现大大的提高了程序的扩展性。
多态的弊端:
      提高了程序的扩展性,但是只能使用父类的引用访问父类的成员。
多态的前提:
     必须是类与类之间有关系,要么继承,要么实现,还得覆盖。
在多态中成员函数的特点:
     在编译时期:参阅引用型变量所属的类中是否有调用的方法,如果有编译通过,否则编译失败。
      在运行时期:参阅对象所属的类中是否有调用的方法。

这样能不能理解的多一点?
回复 使用道具 举报
Hi.。 中级黑马 2015-12-27 13:35:40
10#
一大把手 发表于 2015-12-27 12:56
多态可以理解为事物存在的多种体现形态。
多态的体现:
父类的引用指向了子类对象;

百度上的。我都知道这些,我意思是不懂得怎么把这一个体系下的内容完整的表达出来。如果有时间,你看看我楼上那个回复,还有没有需要改进的地方。总之,谢谢你啦
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马