Я знаю о внутреннем классе и вложенного класса от Java inner class and static nested classДоступ внешнего класса из внутреннего класса в Java
Но любой орган может сказать мне, что разница между Inner.redo1() и Inner.redo2() ?
Или Inner.print1() и Inner.print2() - то же самое?
public class Outer {
private String str = "outer";
public void print() {
System.out.println("a");
}
public class Inner {
public void redo1() {
print();
}
public void redo2() {
Outer.this.print();
}
}
}
PS: В java.util.ArrayList.Itr # удалить
public void remove() {
if (lastRet < 0)
throw new IllegalStateException();
checkForComodification();
try {
ArrayList.this.remove(lastRet);
cursor = lastRet;
lastRet = -1;
expectedModCount = modCount;
} catch (IndexOutOfBoundsException ex) {
throw new ConcurrentModificationException();
}
}
Почему это использовать ArrayList.this.remove(lastRet);
но не remove(lastRet);
?