Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/359.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 - Fatal编程技术网

需要java接口的地方的真实例子?

需要java接口的地方的真实例子?,java,interface,Java,Interface,我一直在寻找一个答案有一段时间,所以我很抱歉,如果这已经得到了回答 我很困惑,为什么从接口继承空方法存根在java中被认为是如此有用?这是主要用于我需要尝试理解的更大项目的东西吗?因为虽然我知道接口的所有语法和特性,但在编程时却找不到它们的用途。我试着尽可能多地阅读,但这是一个我无法在脑海中“点击”的概念,我觉得它在阻碍我 或者这只是一个好的软件设计的例子,我需要在某些场景中使用它们,不管我觉得是否需要 如果有人能给我指出一些代码的方向,或者最好是一个项目,让我在接口必不可少的地方去做,我将不胜

我一直在寻找一个答案有一段时间,所以我很抱歉,如果这已经得到了回答

我很困惑,为什么从接口继承空方法存根在java中被认为是如此有用?这是主要用于我需要尝试理解的更大项目的东西吗?因为虽然我知道接口的所有语法和特性,但在编程时却找不到它们的用途。我试着尽可能多地阅读,但这是一个我无法在脑海中“点击”的概念,我觉得它在阻碍我

或者这只是一个好的软件设计的例子,我需要在某些场景中使用它们,不管我觉得是否需要


如果有人能给我指出一些代码的方向,或者最好是一个项目,让我在接口必不可少的地方去做,我将不胜感激。

您应该使用哪一种,抽象类还是接口?您可以在以下Java文档中找到答案:


有必要吗?他们从来都不是。很多语言都没有这个概念,但它们仍然有效。接口只有在正确使用时才有用,不是必需的

我不明白为什么要从 接口在java中被认为是如此有用

事实并非如此。但您只描述了您所识别的接口的一种效果

用代码块编写“try”和“catch”这样的单词也没有用。有用的是有异常抛出和从中恢复的概念

这是主要用于大型项目的东西吗

是的,不过一旦理解了它,它几乎适用于任何超过五个文件的项目

我需要试着去理解吗

不必匆忙,它会在自己的时间里带来经验

或者这只是一个好的软件设计的例子,我需要使用它 在某些情况下,我是否觉得有必要

是的,这是一个好的软件设计问题。虽然我不认为这是一种需要,但我想这是一个临界点,在这个临界点上,他们是任何专业人士都会称之为需要的更好的解决方案

更重要的是,在某些情况下,具体类本身并不有用

假设您编写的方法采用
ArrayList
参数:如果要向其传递
LinkedList
,则需要复制该方法,更改参数类型

但是,除非该方法的实现确实要求它是一个
ArrayList
特别是(*),否则您可以将该参数更改为
List
,一个接口,并让它接受任何实现



(*)像排序算法这样的事情实际上关心ArrayList和LinkedList,因为
get
set
方法(分别为常量和线性)的时间复杂度不同。但即使在这里,也不需要
ArrayList
:您只需要任何具有恒定时间复杂度实现的
List
。这通常由实现
RandomAccess
marker接口的具体类表示。

请考虑何时要为API提供不同的实现