Ele não está se referindo ao “public” que você vê no atributo “name”.
Para determinar o acesso a alguma coisa, você primeiro tem de ver o acesso mais externo (que no caso é o acesso à classe Target) e depois o mais interno (que é o acesso ao atributo “name”). Ou seja, para você entrar em uma casa dentro de um condomínio fechado, cheio de guardas, você primeiro precisa entrar no condomínio (passar pelos guardas), e depois entrar na casa (que pode estar até com a porta destrancada).
Portanto, como Target não tem modificador de acesso (ou seja, ele é “package-private”, ou seja, somente classes do mesmo pacote podem acessar a classe Target), vale o acesso à classe (que é “any class in the “test” package”) e não o do membro.
OK?
davidtiagoconceicao
A variável é public, mas a classe é default, assim, fora deste pacote, não vai ser possível nem acessar a classe.
Nykolas_Lima
thingol:
Ele não está se referindo ao “public” que você vê no atributo “name”.
Para determinar o acesso a alguma coisa, você primeiro tem de ver o acesso mais externo (que no caso é o acesso à classe Target) e depois o mais interno (que é o acesso ao atributo “name”). Ou seja, para você entrar em uma casa dentro de um condomínio fechado, cheio de guardas, você primeiro precisa entrar no condomínio (passar pelos guardas), e depois entrar na casa (que pode estar até com a porta destrancada).
Portanto, como Target não tem modificador de acesso (ou seja, ele é “package-private”, ou seja, somente classes do mesmo pacote podem acessar a classe Target), vale o acesso à classe (que é “any class in the “test” package”) e não o do membro.