Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/401.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
为什么我们需要java中只提供方法签名的接口_Java_Interface_Abstract Class - Fatal编程技术网

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

为什么我们需要java中只提供方法签名的接口,java,interface,abstract-class,Java,Interface,Abstract Class,在接口方面,我确实与java混淆了:以下是我拥有的接口: interface shape { public String baseclass="shape"; public void Draw(); } 同样,我可以有任意数量的接口,另一个类可以实现任意数量的be接口,但实现类必须实现接口提供的所有方法 我能看到的唯一优势是拥有一些公共属性并在类之间共享它们 类可以声明方法并使用它,而不是实现接口,这样也可以很好地工作 那么为什么我们需要java中的接

在接口方面,我确实与java混淆了:以下是我拥有的接口:

interface shape
 {
     public   String baseclass="shape";

     public void Draw();     

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

我能看到的唯一优势是拥有一些公共属性并在类之间共享它们

类可以声明方法并使用它,而不是实现接口,这样也可以很好地工作

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

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


谢谢。

我看到它被使用的主要原因是公开库中的函数,例如,您只需提供函数和库jar,然后库的用户就可以使用这些函数而不必看到您的实现

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


我期待着投反对票,我甚至肯定会有很多人投反对票,但我从不为此烦恼,因为这是问这个问题的正确地方question@Anto为什么不是谷歌而不是否决投票?