List.size()如何工作?列表是界面时?

时间:2017-11-07 00:42:39

标签: java list selenium

由于List是一个界面,有人可以解释list.size()内部如何运作吗?

给出的实施在哪里?

3 个答案:

答案 0 :(得分:1)

无论何时实施界面,您基本上都会获得有关如何构建类的蓝图。您可以从界面实现所有功能(除非您将此类抽象化)。因此,ArrayList或您实际创建的任何数据结构都将具有自己的size()函数。

答案 1 :(得分:1)

List和许多其他接口一样,都有很多实现。

这些实现(查看ArrayListLinkedList类)描述了List#size应该如何工作,而接口只是声明应该存在这样的方法(因此,实现)在子类中。

例如,ArrayListLinkedList都有一个私有字段size,该字段从List#size返回:

@Override
public int size() {
    return size;
}
  

这是否意味着driver.findElements必须使用List接口的某些实现?

是的,它使用某个List实现来定义如何计算大小。

答案 2 :(得分:0)

列表不是接口,我想您正在询问这个问题,因为Java平台说“接口列表”。这并不意味着当你说List list = new List();它调用一个接口时。接口是类提供的所有方法的定义/规范。在上面的示例中,list单词指的是一个对象,如果您有一个类,则只能创建一个对象。

您可以认为您的列表类在其他包中,其中包含作为接口列出的函数,您可以使用这些函数,列表类的开发人员想告诉您可以使用哪个函数以及如何使用它们但是他确实希望你改变它们。