二次封装数组中size是如何运行的,又是如何与数组相联系的,希望解答一下

public class Array {
//存储数据的静态数组
private int data[];
//元素的实际个数
private int size;
//构造函数 传入二次封装数组的容量

public Array(int capacity) {
    data = new int[capacity];
    //元素个数初始化时默认为0
    size = 0;
}
//无参构造函数 容量默认为10

public Array() {
    this(10);
}
//获取数组中的实际元素个数
public int getSize(){
    return size;
}
//获取数组的容量
public int getCapacity(){
    return data.length;
}
//返回数组是否为空
public boolean isEmpty(){
    return size == 0;
}

}

add的时候判断下是否达到capacity,达到抛出异常,否则size + 1,remove的时候判断是否有那个元素,没有抛出异常,有则size - 1
还有不懂的可以直接去看看ArrayList的实现,下面是简单实现了下add get remove

public class Array {

    //存储数据的静态数组
    private int data[];
    //元素的实际个数
    private int size;
    //构造函数 传入二次封装数组的容量
    public Array(int capacity) {
        data = new int[capacity];
        //元素个数初始化时默认为0
        size = 0;
    }
    //无参构造函数 容量默认为10
    public Array() {
        this(10);
    }
    //获取数组中的实际元素个数
    public int getSize(){
        return size;
    }
    //获取数组的容量
    public int getCapacity(){
        return data.length;
    }
    //返回数组是否为空
    public boolean isEmpty(){
        return size == 0;
    }

    public boolean isMax() {
        return size == data.length;
    }


    private boolean checkIndex(int index) {
        if (index < 0) {
            return false;
        }
        return index < size;
    }

    public void add(int val) {
        if (isMax()) {
            throw new RuntimeException("out of capacity");
        }
        data[size ++] = val;
    }

    public void remove(int index) {
        if (checkIndex(index)) {
            int right = size - index - 1;
            if (right > 0) {
                System.arraycopy(data, index + 1, data, index, right);
            }
            data[--size] = 0;
            return;
        }
        throw new ArrayIndexOutOfBoundsException(index);
    }

    public int get(int index) {
        if (checkIndex(index)) {
            return data[index];
        }
        throw new ArrayIndexOutOfBoundsException(index);
    }

}

你这里面少了很多方法,像元素添加方法(添加方法中,将元素存放数组中,并且size++操作),移除元素方法,数组扩容方法等。