Acessando variável de classe externa via objeto de classe interna no principal
class Host {
int x=2;
class Helper {
int x = 7;
}
public static void main(String[] args){
Host ho = new Host();
Helper he = ho.new Helper();
System.out.println(ho.x);
System.out.println(he.x);
}
}
Então, aqui estou recebendo o resultado esperado
2
7
Agora eu queria perguntar isso, digamos, eu quero acessarho
'sx
dehe
.
Ou seja Eu quero algo aqui que vai me imprimir2
através do objeto Helperhe
:
System.out.println(???);
Eu sei que não há uso de tal coisa, eu só quero esclarecer meu conceito de classes aninhadas. Eu acho que isso deveria ser possível, porque o objeto Helperhe
é uma espécie de 'binded' para o objeto Hostho
. Desde ahe
não é possível semho
. De dentro da classe Helper eu posso fazerSystem.out.println(Host.this.x);
e funciona. Eu não consigo descobrir como fazer isso por dentro do main.