为什么内部类可以访问此类的输入对象参数的私有字段?
private class Inner {
private int privatefield = 0;
public void method( Inner inner ) {
privatefield = 1; //ok
inner.privatefield = 1; //this line confusing me (broken incapsulation)
}
}
Run Code Online (Sandbox Code Playgroud) 你能解释一下迭代器结果的行为吗:
ArrayList< String > list = new ArrayList< >(
Arrays.asList( new String[] { "a", "b", "c", "d" } ) );
int i = 0;
ListIterator< String > iterator = list.listIterator();
while( iterator.hasNext() ) {
if( ++i == 3 ) {
System.out.println(
iterator.previous() + iterator.nextIndex() );
}
System.out.println( iterator.next() + iterator.nextIndex() );
}
Run Code Online (Sandbox Code Playgroud)
输出是:a1 b2 b1 b2 c3 d4 为什么第三个输出是“b1”而不是“a1”?我想结构
0 1 2 3 元素索引
abcd 元素值