当前位置:编程学习 > JAVA >>

最近听到同学说:Java无多态

本人对Java没有深入学习,但是基本的多态还是有些了解,感觉Java绝对是有多态的。两个开发Android的同学都说Java无多态,不理解这是什么意思。不知道这是一种设计方式还是什么,毕竟多态会带来一些开销,百度Google也没答案,求大神解惑。 java 多态 --------------------编程问答-------------------- 扯淡吧 --------------------编程问答--------------------
引用 1 楼 fudongrifdr 的回复:
扯淡吧

扯蛋吧 --------------------编程问答-------------------- java必须有多态,面向对象三大特性 封装 ,继承 , 多态;

实际应用中  多态主要体现在 函数的重载吧。 

个人观点。 --------------------编程问答-------------------- 在面向对象语言中,接口的多种不同的实现方式即为多态。引用Charlie Calverts对多态的描述——多态性是允许你将父对象设置成为和一个或更多的他的子对象相等的技术,赋值之后,父对象就可以根据当前赋值给它的子对象的特性以不同的方式运作(摘自“Delphi4 编程技术内幕”)。简单的说,就是一句话:允许将子类类型的指针赋值给父类类型的指针。多态性在Object Pascal和C++中都是通过虚函数(Virtual Function) 实现的。 --------------------编程问答-------------------- 百度下多态的概念如上,这个机制,JAVA里完全可以实现。只是没有使用虚函数吧。 --------------------编程问答--------------------
引用 4 楼 fortheother 的回复:
在面向对象语言中,接口的多种不同的实现方式即为多态。引用Charlie Calverts对多态的描述——多态性是允许你将父对象设置成为和一个或更多的他的子对象相等的技术,赋值之后,父对象就可以根据当前赋值给它的子对象的特性以不同的方式运作(摘自“Delphi4 编程技术内幕”)。简单的说,就是一句话:允许将子类类型的指针赋值给父类类型的指针。多态性在Object Pascal和C++中都是通过虚函数(Virtual Function) 实现的。
看清题目,C++的多态我是研究了好久的。Java的多态虽然没深入理解,但是也是会用的。讨论的不是语言特性问题,而是设计模式或者是效率方面的问题。 --------------------编程问答-------------------- java肯定有多态的,主要体现在两个方面,一是方法的重载。二是动态绑定,比如
Father f=new Son();其中son继承Father,f在编译期的时候的类型是Father,而在运行期的之后却是Son类型的。java没有多态才怪,我真是笑了,难道真是我们水平太低? --------------------编程问答-------------------- 楼主确定 百度Google也没答案 ......
--------------------编程问答--------------------
引用 6 楼 zycamym 的回复:
Quote: 引用 4 楼 fortheother 的回复:

在面向对象语言中,接口的多种不同的实现方式即为多态。引用Charlie Calverts对多态的描述——多态性是允许你将父对象设置成为和一个或更多的他的子对象相等的技术,赋值之后,父对象就可以根据当前赋值给它的子对象的特性以不同的方式运作(摘自“Delphi4 编程技术内幕”)。简单的说,就是一句话:允许将子类类型的指针赋值给父类类型的指针。多态性在Object Pascal和C++中都是通过虚函数(Virtual Function) 实现的。
看清题目,C++的多态我是研究了好久的。Java的多态虽然没深入理解,但是也是会用的。讨论的不是语言特性问题,而是设计模式或者是效率方面的问题。


你同学的意思是JAVA的多态效率低得可怜,不忍使用么?

--------------------编程问答-------------------- 那两人是个sb --------------------编程问答--------------------
引用 10 楼 rainbowsix 的回复:
那两人是个sb

补充一下,是否多态,写个demo程序验证下不就行了。 --------------------编程问答--------------------
引用 5 楼 fortheother 的回复:
百度下多态的概念如上,这个机制,JAVA里完全可以实现。只是没有使用虚函数吧。

胡扯, 非 static 或 final的都是 virtual method。 --------------------编程问答--------------------
引用 12 楼 huntor 的回复:
Quote: 引用 5 楼 fortheother 的回复:

百度下多态的概念如上,这个机制,JAVA里完全可以实现。只是没有使用虚函数吧。

胡扯, 非 static 或 final的都是 virtual method。


????
JAVA 实现父类访问子类的成员方法,是不需要虚函数吧。
--------------------编程问答-------------------- 上面说错了,是父类引用方法子类的方法。
C++貌似需要虚函数来完成这个机制。 --------------------编程问答--------------------
引用 13 楼 fortheother 的回复:
Quote: 引用 12 楼 huntor 的回复:

Quote: 引用 5 楼 fortheother 的回复:

百度下多态的概念如上,这个机制,JAVA里完全可以实现。只是没有使用虚函数吧。

胡扯, 非 static 或 final的都是 virtual method。


????
JAVA 实现父类访问子类的成员方法,是不需要虚函数吧。


这么说不逻辑。java里面根本没有虚函数概念。
非要在字节码上找对应,那么大约就是 INVOKEVIRTUAL

--------------------编程问答--------------------
引用 15 楼 beowulf2005 的回复:
Quote: 引用 13 楼 fortheother 的回复:

Quote: 引用 12 楼 huntor 的回复:

Quote: 引用 5 楼 fortheother 的回复:

百度下多态的概念如上,这个机制,JAVA里完全可以实现。只是没有使用虚函数吧。

胡扯, 非 static 或 final的都是 virtual method。


????
JAVA 实现父类访问子类的成员方法,是不需要虚函数吧。


这么说不逻辑。java里面根本没有虚函数概念。
非要在字节码上找对应,那么大约就是 INVOKEVIRTUAL


LS的说法所有的函数都是虚函数。 --------------------编程问答--------------------
引用 16 楼 fortheother 的回复:
Quote: 引用 15 楼 beowulf2005 的回复:

Quote: 引用 13 楼 fortheother 的回复:

Quote: 引用 12 楼 huntor 的回复:

Quote: 引用 5 楼 fortheother 的回复:

百度下多态的概念如上,这个机制,JAVA里完全可以实现。只是没有使用虚函数吧。

胡扯, 非 static 或 final的都是 virtual method。


????
JAVA 实现父类访问子类的成员方法,是不需要虚函数吧。


这么说不逻辑。java里面根本没有虚函数概念。
非要在字节码上找对应,那么大约就是 INVOKEVIRTUAL


LS的说法所有的函数都是虚函数。


这不对。调用静态方法是字节码 INVOKESTATIC
--------------------编程问答--------------------
引用 17 楼 beowulf2005 的回复:
Quote: 引用 16 楼 fortheother 的回复:

Quote: 引用 15 楼 beowulf2005 的回复:

Quote: 引用 13 楼 fortheother 的回复:

Quote: 引用 12 楼 huntor 的回复:

Quote: 引用 5 楼 fortheother 的回复:

百度下多态的概念如上,这个机制,JAVA里完全可以实现。只是没有使用虚函数吧。

胡扯, 非 static 或 final的都是 virtual method。


????
JAVA 实现父类访问子类的成员方法,是不需要虚函数吧。


这么说不逻辑。java里面根本没有虚函数概念。
非要在字节码上找对应,那么大约就是 INVOKEVIRTUAL


LS的说法所有的函数都是虚函数。


这不对。调用静态方法是字节码 INVOKESTATIC

我说错了,他说的非静态和final!!!!!!! --------------------编程问答-------------------- 必须多态啊  Java高级语言啊 --------------------编程问答-------------------- LZ的同学为啥要停止治疗呢 --------------------编程问答-------------------- 静态的多态,动态的多态
他们学的是什么?
讲什么P呢? --------------------编程问答-------------------- 你同学记错了,JAVA无泛型。。 --------------------编程问答-------------------- java,貌似 多态  是核心啊  --------------------编程问答-------------------- 哥们,封装,继承和多态是面向对象语言java的三大特性。多态体现在互为父子关系的类中,父类对象可以被初始化为子类对象,拥有子类的属性和方法。
补充:Java ,  Java相关
CopyRight © 2012 站长网 编程知识问答 www.zzzyk.com All Rights Reserved
部份技术文章来自网络,