- ArrayList的源码中,有一个实现了Iterator接口的内部类Itr,其中有两个elementData变量,一个是内部类的属性,一个是外部类的,那么外部类的就必须标识为ArrayList.this.elemtData
注意,不是this.elementData,因为外部类的对象是不能调用内部类的,所以只能用类名.this来区别内部类和外部类的属性。
//内部类 private class Itr implements Iterator<E> { transient Object[] elementData; @SuppressWarnings("unchecked") public E next() { //同名变量 Object[] elementData = ArrayList.this.elementData; } }
ArrayList.this类名.this何意
最后更新时间:
这里可以写作者留言,标签和 hexo 中所有变量及辅助函数等均可调用,示例:http://47.107.237.149/2019/04/30/ArrayList.this类名.this何意/