当你有一个Collection<接口(interface)名称>变量= null时,这到底意味着什么
这是什么类型的变量?
我认为集合本身就是一个接口(interface)。
重新表述问题:
假设您有一个界面。
public interface stack
{
String push();
String pop();
}
并给出
Collection<stack> myname = null ;
某堂课
你会如何填写我的名字?
最佳答案
你描述的是多态性,是的Collection是一个接口(interface)。它描述了集合的每个客户都可以期望的契约,并且集合的每个实现都必须遵守该契约。在某些时候,变量必须指向符合约定的实际实现,例如 ArrayList。
集合还有另一种形式的多态性,即泛型。因此,集合可以包含特定类型的对象,该类型将在声明集合时确定。该类型本身可以是一个接口(interface),但 Collection 的底层成员必须是所声明类型的具体实现
例如:
// ArrayList honours the contract of Collection
// All members must be a String
Collection<String> var = new ArrayList<String>();
// HashSet honours the contract of Collection
// All members must be one of the implementing classes of Principal
Collection<Prinicpal> users = new HashSet<Principal>();
关于java - 集合 <接口(interface)> 名称 = null;,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21805824/