接口作为Java中的方法参数

我几天前接受采访时,被问到这样的问题。

问:反向链接列表。给出以下代码:

public class ReverseList { 

interface NodeList {

int getItem();

NodeList nextNode();

}

void reverse(NodeList node) {

}

public static void main(String[] args) {

}

}

我很困惑,因为我不知道接口对象可以用作方法参数。面试官解释了一下,但我仍然不确定。有人可以启发我吗?

回答:

实际上,这是使用接口的最常见和最有用的方法之一。该接口定义了一个契约,您的代码可以与实现该接口的任何类一起使用,而无需了解具体的类-

它甚至可以与编写代码时尚不存在的类一起使用。

Java标准API中有很多示例,尤其是在collections框架中。例如,Collections.sort()可以排序任何实现的List接口(不只是ArrayList或者LinkedList,虽然实现自己的List不常见),其内容实现Comparable接口(不只是String或数值包装类-

和拥有自己的类实现Comparable为目的 普遍)。

以上是 接口作为Java中的方法参数 的全部内容, 来源链接: utcz.com/qa/411978.html

回到顶部