繁体   English   中英

我试图了解动态 arrays,我卡在第 7 行,this(16); 是指数组的大小吗?

[英]I'm trying to understand dynamic arrays, I'm stuck on line 7, this(16); Is reference to the size of the array?

我从免费代码训练营开始,但我从未见过第 7 行——this(16); 如果您告诉我它的作用以及我可以在哪里阅读更多相关信息,我将不胜感激。

public class DynamicArray<T> implements Iterable<T> {

  private T[] arr;// define atributo array del tipo t(vector)
  private int len = 0; // length user thinks array is
  private int capacity = 0; // Actual array size

  public DynamicArray() {
      this(16);   // <-- This line
  }

  public DynamicArray(int capacity) {
    if (capacity < 0) throw new IllegalArgumentException("Illegal Capacity: " + capacity);
    this.capacity = capacity;
    arr = (T[]) new Object[capacity];
  }

  

“this”表示 object 本身,它是 class DynamicArray 的一个实例。 您可以通过调用获取 DynamicArray 的实例

DynamicArray myArray = new DynamicArray();

那么myArray就是this指向的object。 虽然this(16)正在 object myArray上调用public DynamicArray(int capacity) 所以,16 是将传递给参数capacity的参数。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM