大家来讨论下Java多态的实现吧! 大家来讨论下Java多态的实现吧! 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 此回复为自动发出,仅用于显示而已,并无任何其他特殊作用楼主【GProgrammer】截止到2008-07-26 13:53:15的历史汇总数据(不包括此帖):发帖的总数量:1 发帖的总分数:10 每贴平均分数:10 回帖的总数量:8 得分贴总数量:1 回帖的得分率:12% 结贴的总数量:1 结贴的总分数:10 无满意结贴数:0 无满意结贴分:0 未结的帖子数:0 未结的总分数:0 结贴的百分比:100.00% 结分的百分比:100.00% 无满意结贴率:0.00 % 无满意结分率:0.00 % 敬礼! 方法的重写Overriding和重载Overloading是Java多态性的不同表现。重写Overriding是父类与子类之间多态性的一种表现,重载Overloading是一个类中多态性的一种表现。如果在子类中定义某方法与其父类有相同的名称和参数,我们说该方法被重写 (Overriding)。子类的对象使用这个方法时,将调用子类中的定义,对它而言,父类中的定义如同被“屏蔽”了。如果在一个类中定义了多个同名的方法,它们或有不同的参数个数或有不同的参数类型,则称为方法的重载(Overloading)。Overloaded的方法是可以改变返回值. 重写Overriding是对继承而言的。{如果在一个类中定义了多个同名的方法,它们或有不同的参数个数或有不同的参数类型,则称为方法的重载(Overloading)。Overloaded的方法是可以改变返回值. }====〉如果父类和子类中都有一个方法名一样的类方法,但参数类型不一样,这也是重载吗? 多态分为 静态的 就是overload动态的蛮就是动态绑定了来源于C++的虚函数大学老师就是这么说的 哈哈 这个说法见了好多了,一直没有见到源头.看到很多国内的书里提出了方法多态的概念,这是个跟面向对象的多态一点关系都没有的概念,指的是方法的重载,在C++这样的多范型语言中,可以定义跟类没有关系的方法重载(overloading).但是我感觉这个概念一点意思都没有.反而容易混淆面向对象的多态中的概念,所以最后还是撇开overloading和多态的关系,因为它们本没有关系.overloading指的是一个类中签名不同的同名方法.overriding指的是子类对父类中方法的行为.签名必须相同.但是返回值可以有限制的不同,那就是子类的返回类型可以是父类返回类型的子类型. 不用理会你就知道多态是面向对象的特性之一 ,java中是通过overriding加上动态绑定实现的。overloading和多态没有关系。而且这是静态绑定的,跟面向对象没有关系。所以不要把多态和overloading扯上关系。具体的你可以看一下《java程序设计语言》,java语言的设计者写的,可以说是权威的。 感觉一楼好冤.他第一句就说了, 方法的重写Overriding和重载Overloading是Java多态性的不同表现。后面的,是重写和重载的定义 所以6楼说那是多态的定义就张冠李戴了至于多态的定义,我觉得根本就是个说不清的问题.因为多态性是面向对象的灵魂特性而面向对象是一种思想. 今天面试的题目 jdic的问题 基于junit的单元测试,请大家帮我设计这个计算器的测试用例 JTabbedPane多标签添加JPanel问题 读取文件时在jbuilder中出错,但在jcreator中没有问题 什么情况下"AA"equals("BB")结果为true? 请教各位:WinXP不支持Java Apple,该如何是好? java开发中图片文件.plist怎么解析? 为什么总是null呢 java登录出错 Java程序怎么绑定Windows系统的快捷键? java连接sql server 2000出现的问题,请高手帮忙!拜托了!谢谢!在线等!
楼主【GProgrammer】截止到2008-07-26 13:53:15的历史汇总数据(不包括此帖):
发帖的总数量:1 发帖的总分数:10 每贴平均分数:10
回帖的总数量:8 得分贴总数量:1 回帖的得分率:12%
结贴的总数量:1 结贴的总分数:10
无满意结贴数:0 无满意结贴分:0
未结的帖子数:0 未结的总分数:0
结贴的百分比:100.00% 结分的百分比:100.00%
无满意结贴率:0.00 % 无满意结分率:0.00 %
敬礼!
{如果在一个类中定义了多个同名的方法,它们或有不同的参数个数或有不同的参数类型,则称为方法的重载(Overloading)。Overloaded的方法是可以改变返回值. }====〉
如果父类和子类中都有一个方法名一样的类方法,但参数类型不一样,这也是重载吗?
静态的 就是overload
动态的蛮就是动态绑定了
来源于C++的虚函数
大学老师就是这么说的 哈哈
看到很多国内的书里提出了方法多态的概念,这是个跟面向对象的多态一点关系都没有的概念,指的是方法的重载,在C++这样的多范型语言中,可以定义跟类没有关系的方法重载(overloading).但是我感觉这个概念一点意思都没有.反而容易混淆面向对象的多态中的概念,所以最后还是撇开overloading和多态的关系,因为它们本没有关系.overloading指的是一个类中签名不同的同名方法.
overriding指的是子类对父类中方法的行为.签名必须相同.但是返回值可以有限制的不同,那就是子类的返回类型可以是父类返回类型的子类型.
你就知道多态是面向对象的特性之一 ,java中是通过overriding加上动态绑定实现的。
overloading和多态没有关系。而且这是静态绑定的,跟面向对象没有关系。所以不要把多态和overloading扯上关系。
具体的你可以看一下《java程序设计语言》,java语言的设计者写的,可以说是权威的。
方法的重写Overriding和重载Overloading是Java多态性的不同表现。后面的,是重写和重载的定义 所以6楼说那是多态的定义就张冠李戴了
至于多态的定义,我觉得根本就是个说不清的问题.因为多态性是面向对象的灵魂特性
而面向对象是一种思想.