为什么我们需要java中提供方法签名的接口

时间:2013-10-16 09:56:17

标签: java interface abstract-class

关于接口,我对java很困惑:以下是我的接口:

interface shape
 {
     public   String baseclass="shape";

     public void Draw();     

 }

同样我可以有任意数量的接口,另一个类可以实现任意数量的接口,但实现类必须实现接口提供的所有方法。

我能看到的唯一优势是拥有一些共同的属性并在课堂上分享它们。

代替实现接口,类可以声明方法并使用它,这也可以正常工作。

那为什么我们需要java中的接口?即使它是多重继承,接口也没有实现,只有方法签名。

我真的很困惑这些,当然还有着名的抽象类。

感谢。

1 个答案:

答案 0 :(得分:6)

我看到它使用的主要原因是在诸如库之类的东西中公开函数,例如您需要提供的只是函数和库jar,然后您的库的用户可以使用这些函数而无需查看您的实现。

还有很多其他原因,请参阅多态:

http://www.artima.com/objectsandjava/webuscript/PolymorphismInterfaces1.html

http://docs.oracle.com/javase/tutorial/java/IandI/polymorphism.html