2011-11-13 82 views

回答

2

一般而言,Java和OOO编程允许您定义应该如何使用对象(即对象的接口),因此只有库实现者需要担心事情实际工作的细节。这就是为什么永远不会返回一个类本身,而只是一个接口的良好习惯,除了更好的维护性,它还可以让您在为应用程序编写测试代码时使用mock或stubs对象。

Java特别让你创建一个接口实现。即你可以这样做

 
return new List() { 

    boolean add() {...} 
    void addAll {...} 
    ... 
} 

当然,这是对于像清单复杂的界面矫枉过正,但实际上对于较小的接口非常方便。

3

它创建了一个的实例,它实现了接口。

你不知道那是什么类;它甚至可以在每个星期二使用不同的课程(它不会)。
您只需通过界面使用该类。

+0

这意味着我可以做一些像ArrayList test = Arrays.asList(someVector)? –

+1

不,你不能,因为'Arrays.asList'可能会返回除'ArrayList'以外的其他实现。 – SLaks