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 ?
class MyOuter {
private class MyInner {
float f() { return 1.2f; }
}
MyInner getInner() {
return new MyInner();
}
}
class Test {
public static void main(String[] args) {
MyOuter outer = new MyOuter();
System.out.println( outer.getInner().f() );
}
}
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 =) !