Как получить доступ к скрытому полю во внутреннем классе (java) - PullRequest
1 голос
/ 20 апреля 2020

У меня следующая проблема.

class Master
{
   private String name;
   class Inner
   {
     private String name;
     private void printNames()
     {
       System.out.println("Master.name"+"Inner.name");
     }
   }
}

Как получить доступ к обоим полям имен во внутреннем классе без изменения имени?

1 Ответ

4 голосов
/ 20 апреля 2020

Вы можете использовать это:

System.out.println("Master.name: " + Master.this.name + 
                   " Master.Inner.name: " + this.name);

Master.this.name ссылается на поле экземпляра внешнего класса, Master, из внутреннего класса.

...