请教大家 JAVA 多态 与 接口之间的区别

邪风之神曲 2009-04-08 12:07:32
1、接口算是多态的体现吗? 如果不算,那么接口为什么那么象多态的感觉啊,这一点让我很模糊。
其实我知道多态是和继承或者父子类之间有联系和关联。


2、在OOP多态体现的技术有方法重载和方法重写, 重写是有继承关系的,但重载却没有继承父子关系啊。 为什么接口就不算多态呢?

本人初学者,有这两点问题搞不清,希望高手指点。。
...全文
609 19 打赏 收藏 转发到动态 举报
写回复
用AI写文章
19 条回复
切换为时间正序
请发表友善的回复…
发表回复
allan0527 2009-04-27
  • 打赏
  • 举报
回复
前面的常态是我自己加上的定义,权威里没有这种说法。。。
allan0527 2009-04-27
  • 打赏
  • 举报
回复
接口不是多态,
从中文字面理解多态 ,也就是同一个事物出现多种不同的形态,“多”也就是指不止一个。
继承:2个子类有不同的实现,但它本质是一类,也就是同一种东西,1类事物针对特定问题出现了2个不同的形态,所以这个是多态。
接口:2个实现类并不能保证是同一类事物,所以实现类有可能是2类事物针对特定问题出现了2个不同的形态,这个就是常态,怎么能叫多态呢。。。
CubieZhou 2009-04-27
  • 打赏
  • 举报
回复
接口也是一种多态。多态是“机制”,而接口,类继承,方法重载,过载等是“策略”。
ziran_dhw123 2009-04-27
  • 打赏
  • 举报
回复
[Quote=引用 2 楼 liujinfengliuyi 的回复:]
多态分为三种:
1: 方法多态
2: 类多态
3:接口多态

重写:是覆盖
重载:是方法名字相同,参数列表不同,参数 类型不同

接口是算多态的

举例吧:
Jbutton.addActionListener(new ActionListener(){
public void actionPerformed(){
................
}
});
这就是属于 接口多态,实现

方法多态:
有点类似于重载
类多态:
就…
[/Quote]
up

JAVA中多态的定义:
不同的对象,收到同一消息可以产生不同的结果。
动态绑定的含义:
在运行时确定方法的实现叫做动态绑定,很重要的概念。

记得第一次接触"多态"的时候,第一反应就是"变态"。
IT东 2009-04-26
  • 打赏
  • 举报
回复
学习
zhoushaolan 2009-04-26
  • 打赏
  • 举报
回复
补充:,接口可以继承接口,接口中的方法也可以重载,那么岂不是对于实现类来说(重写并实现接口中的方法),接口也应该属于多态的一种;

zhoushaolan 2009-04-26
  • 打赏
  • 举报
回复
简单的讲:java的多态特性:
子类继承父类,在子类中重写父类中的方法,是多态的一种表现;
在一个类中,方法的重载(方法名相同,参数列表中的参数个数或类型不同),也是多态的一种表现;
按java的多态定义:是指允许不同类的对象对同一消息作出的响应.
接口是行为的规范,应该不属于多态的范畴;
纯属个人理解,不对的地方,请指正,谢谢
cl_125520_once 2009-04-26
  • 打赏
  • 举报
回复
哪位仁兄能清楚点呢?怎么听着就飞上云端了呢
webrobot 2009-04-09
  • 打赏
  • 举报
回复
看看设计模式,你就知道这些区别了,并且深入的了解!

gzwlj 2009-04-09
  • 打赏
  • 举报
回复
楼主概念混淆得很,都不清楚你想问什么。。。
大概说说
多态是多态,接口是接口。
只是多态的实现需要使用接口或者抽象类来实现
也就是不仅仅接口可以,抽象类同样也能做到。

至于你提到的重载和重写的问题,多态使用时当然是用重写了,不自己不也提到了吗?
多态是需要继承或实现才能做到的。

如果楼住对重载和重写的概念也不清楚,请google一下。。。十分简单
caojiang35072 2009-04-09
  • 打赏
  • 举报
回复
[Quote=引用 2 楼 liujinfengliuyi 的回复:]
多态分为三种:
1: 方法多态
2: 类多态
3:接口多态

重写:是覆盖
重载:是方法名字相同,参数列表不同,参数 类型不同

接口是算多态的

举例吧:
Jbutton.addActionListener(new ActionListener(){
public void actionPerformed(){
................
}
});
这就是属于 接口多态,实现

方法多态:
有点类似于重载
类多态:
就…
[/Quote]

顶楼上这位的正解!!!
sjkof 2009-04-09
  • 打赏
  • 举报
回复
接口的多态本质上还是继承的多态
Study_Work_2009 2009-04-09
  • 打赏
  • 举报
回复
[Quote=引用 3 楼 liujinfengliuyi 的回复:]
多态分为三种:
1: 方法多态
2: 类多态
3:接口多态

重写:是覆盖
重载:是方法名字相同,参数列表不同,参数 类型不同

接口是算多态的

举例吧:
Jbutton.addActionListener(new ActionListener(){
public void actionPerformed(){
................
}
});
这就是属于 接口多态,实现

方法多态:
有点类似于重载
类多态:
就继承关系
[/Quote]
up
热烈的红颜 2009-04-08
  • 打赏
  • 举报
回复
多态分为三种:
1: 方法多态
2: 类多态
3:接口多态

重写:是覆盖
重载:是方法名字相同,参数列表不同,参数 类型不同

接口是算多态的

举例吧:
Jbutton.addActionListener(new ActionListener(){
public void actionPerformed(){
................
}
});
这就是属于 接口多态,实现

方法多态:
有点类似于重载
类多态:
就继承关系
热烈的红颜 2009-04-08
  • 打赏
  • 举报
回复
多态分为三种:
1: 方法多态
2: 类多态
3:接口多态

重写:是覆盖
重载:是方法名字相同,参数列表不同,参数 类型不同

接口是算多态的

举例吧:
Jbutton.addActionListener(new ActionListener(){
public void actionPerformed(){
................
}
});
这就是属于 接口多态,实现

方法多态:
有点类似于重载
类多态:
就继承关系
热烈的红颜 2009-04-08
  • 打赏
  • 举报
回复
群主 把分给我

我给
包 你讲清楚
QQ:278977862
jsyz3838131 2009-04-08
  • 打赏
  • 举报
回复
接口是多态,接口一般是功能的封装,正常一个接口 多个实现,所以说面向接口编程的
x_q_d_z_j_h 2009-04-08
  • 打赏
  • 举报
回复
接口也是多态,而且是标准的多态,不过多态通常是对继承而言,里面的方法可以不实现,但接口中的方法必须实现而且不能少
huangan0301 2009-04-08
  • 打赏
  • 举报
回复
没听说过接口不是多态,感觉接口是很标准的多态啊

67,515

社区成员

发帖
与我相关
我的任务
社区描述
J2EE只是Java企业应用。我们需要一个跨J2SE/WEB/EJB的微容器,保护我们的业务核心组件(中间件),以延续它的生命力,而不是依赖J2SE/J2EE版本。
社区管理员
  • Java EE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧