Доступ к частным полям Java возможен при наличии ссылки?

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

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

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

9
задан kapa 4 May 2012 в 09:17
поделиться