Этот пример не компилируется:Доступ частного поля внутри класса отказывается компилировать
public class Test{
private LinkedList<Integer> lst = new LinkedList<>();
public static Test of(int i){
return new Test(){{
this.lst.addFirst(i);
}};
}
}
Но это делает:
public class Test{
private LinkedList<Integer> lst = new LinkedList<>();
public static Test of(int i){
Test t = new Test();
t.lst.addFirst(i);
return t;
}
}
Почему? В обоих случаях мы получаем доступ к частному члену из тела класса.