一个方法如何在java中返回一个Set?

时间:2016-03-31 12:51:46

标签: java set return

我从一个返回Set Object的api调用一个方法。据我所知,Set是一个接口,你无法实例化一个接口。我可以使用这个集合并调用onArray()。什么是Set实际返回呢?

2 个答案:

答案 0 :(得分:5)

确实会返回Set,但您必须明白,Set不仅仅是界面:

可以返回实现Set的每个类的每个实现。

public Set getMySet(){
  return new HashSet();
}

因为HashSet实现了Set,所以这是有效的代码。

将应用程序编写到接口而不是它们的实现是一种广泛使用的做法。毕竟,您需要编写(并测试)您的代码(例如使用服务的UI),就是界面。

你还没有得到具体的实现,它们甚至可能还不存在,但你已经可以做你需要做的所有工作。

答案 1 :(得分:1)

从方法返回接口意味着返回的对象将实现该接口。

在这种情况下,它意味着返回的对象将实现'Set'。您将能够调用该接口中包含的方法,但无法从实现类中调用方法。