接口作为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