日期:2014-05-19  浏览次数:20813 次

请教大家 JAVA 多态 与 接口之间的区别
1、接口算是多态的体现吗? 如果不算,那么接口为什么那么象多态的感觉啊,这一点让我很模糊。 
  其实我知道多态是和继承或者父子类之间有联系和关联。  


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

  本人初学者,有这两点问题搞不清,希望高手指点。。

------解决方案--------------------
多态分为三种:
1: 方法多态
2: 类多态
3:接口多态

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

接口是算多态的

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

方法多态:
有点类似于重载
类多态:
就继承关系
------解决方案--------------------
多态分为三种:
1: 方法多态
2: 类多态
3:接口多态

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

接口是算多态的

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

方法多态:
有点类似于重载
类多态:
就继承关系
------解决方案--------------------
接口是多态,接口一般是功能的封装,正常一个接口 多个实现,所以说面向接口编程的
------解决方案--------------------
楼主概念混淆得很,都不清楚你想问什么。。。
大概说说
多态是多态,接口是接口。
只是多态的实现需要使用接口或者抽象类来实现
也就是不仅仅接口可以,抽象类同样也能做到。

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

如果楼住对重载和重写的概念也不清楚,请google一下。。。十分简单
------解决方案--------------------
简单的讲:java的多态特性:
子类继承父类,在子类中重写父类中的方法,是多态的一种表现;
在一个类中,方法的重载(方法名相同,参数列表中的参数个数或类型不同),也是多态的一种表现;
按java的多态定义:是指允许不同类的对象对同一消息作出的响应.
接口是行为的规范,应该不属于多态的范畴;
纯属个人理解,不对的地方,请指正,谢谢
------解决方案--------------------
补充:,接口可以继承接口,接口中的方法也可以重载,那么岂不是对于实现类来说(重写并实现接口中的方法),接口也应该属于多态的一种;


------解决方案--------------------
探讨
多态分为三种:
1: 方法多态
2: 类多态
3:接口多态

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

接口是算多态的

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

方法多态:
有点类似于重载
类多态:
就…

------解决方案--------------------
接口也是一种多态。多态是“机制”,而接口,类继承,方法重载,过载等是“策略”。
------解决方案--------------------
接口不是多态,
从中文字面理解多态 ,也就是同一个事物出现多种不同的形态,“多”也就是指不止一个。
继承:2个子类有不同的实现,但它本质是一类,也就是同一种东西,1类事物针对特定问题出现了2个不同的形态,所以这个是多态。
接口:2个实现类并不能保证是同一类事物,所以实现类有可能是2类事物针对特定问题出现了2个不同的形态,这个就是常态,怎么能叫多态呢。。。