Membro desde: 09/11/2009 15:09:45
Mensagens: 38
Offline
Olá, primeiramente ! Este é o meu primeiro post. Comecei a estudar para certificação, então resolvi me cadastrar no forum pois estava com muitas dúvidas.
No livro que estou usando para estudar (Certificação Java5 / Roberto Rubinstein Serson) tinha a seguinte questão:
Qual será o resultado da compilação e execução do seguinte código ?
A) Imprime 1.2
B) Erro de compilação: não pode acessar métodos de uma classe interna private
C) Erro de compilação: não pode acessar objetos de uma classe interna private
D) Nenhuma das anteriores
A resposta, segundo o gabarito do livro, é A porém nos testes que fiz na prática, ocorre um erro de compilação ...
No livro diz que pode-se utilizar a referência da classe interna private retornado por um método da classe externa para acessar os membros (dessa classe interna private) ...
Bom, eu só queria confirmar com alguém daqui ... obrigado =) !
Membro desde: 02/09/2007 18:53:15
Mensagens: 112
Offline
Esse código só compila se o método main estiver dentro da classe MyOuter. Lembre-se membros privados são acessados apenas dentro da própria classe. Do jeito que está, o método f() da classe interna está sendo invocado em outra classe (Test), o que acarreta em um erro de compilação.