У меня возник вопрос при просмотре elementData Arraylist в Java.
transient Object[] elementData; // non-private to simplify nested class access
Я думаю, что закрытый или модификатор доступа по умолчанию работает так же во вложенном классе. Я сделал MyClass.class и протестировал.
public class MyClass {
private int a = 10;
int[] defaultElementData = new int[10];
private int[] privateElementData = new int[10];
public nestedClass nestedClass(){
return new nestedClass();
}
private class nestedClass {
private int[] defaultClone = MyClass.this.defaultElementData;
private int[] privateClone = MyClass.this.privateElementData;
public int defaultElementDataChange(int index, int element){
defaultClone[index] = element;
return defaultClone[index];
}
public int privateElementDataChange(int index, int element){
privateClone[index] = element;
return privateClone[index];
}
}
}
Может кто-нибудь объяснить, почему они используют default как модификатор доступа elementData?