Возможен ли доступ к частному полю Java при наличии ссылки?

Сегодня я натолкнулся на следующую «странную» особенность - если у вас есть ссылка на объект из класса A в теле класса A, вы можете получить доступ к закрытым полям этого объекта - т.е.

public class Foo{
   private int bar;
   private Foo foo;
   public void f()
   {
       if(foo.bar == bar) // foo.bar is visible here?!
       {
            //
       }
   }
}

У кого-нибудь есть хорошее объяснение по этому поводу?

Ответы на вопрос(7)

Ваш ответ на вопрос