小编Che*_*tes的帖子

编程接口

根据我的理解,你编程到一个接口而不是一个具体的类来限制自己使用不属于接口的方法.这有助于您希望稍后更改所述接口的实现.(灵活性)即

    List myList = new ArrayList(); // programming to the List interface
Run Code Online (Sandbox Code Playgroud)

代替

    ArrayList myList = new ArrayList(); // this is bad
Run Code Online (Sandbox Code Playgroud)

是不是因为它们没有在List中定义而无法访问ArrayList中的方法(如trimToSize(),而不是List接口的一部分)的原因?它是否类似于一个类有一个公共全局变量但没有方法来访问它?

此外,如果你决定改变

    List myList = new ArrayList();
    //into
    List myList = new LinkedList();
Run Code Online (Sandbox Code Playgroud)

你做出这样改变的唯一原因是性能(我没有看到其他原因)吗?因为在这两种情况下,您只能访问List定义的方法,不包括具体实现的额外功能.

java interface

5
推荐指数
1
解决办法
109
查看次数

标签 统计

interface ×1

java ×1