Não roda.
Apenas se for chamada a partir de uma instância da classe externa
ClasseExterna_ex3 c = new ClasseExterna_ex3();
ClasseInterna i = c.new ClasseInterna();
E ae, amigo!
Na verdade, eu sei que, quando estou fora da classe externa, para acessar uma classe interna, tem que ser através da classe externa, como você expôs.
Mas eu estou dentro da classe externa. A main está no escopo da classe ClasseExterna_ex3.
Eu não entendo o porquê de não dar certo!
Você sabe?
drsmachado
Por que a classe interna existe apenas no escopo da externa.
ECO2004
Então, que nem eu disse…eu estou no escopo da classe externa. A main está dentro da classe externa.
Ouvi uma vez que tinha relação com “a minha classe interna não é estática”. Não entendi, por isso postei o problema.
discorpio
Bom dia a todos
Métodos estáticos, (static) apesarem de estarem no escopo da classe externa, eles não são membros da instância de classes, o mesmo acontece com as variáveis que são declaradas como estáticas.
Na linguagem Java, nenhum método pode ser declarado fora do escopo de classes, porém na linguagem Object Pascal do Delphi isto é permitido, pois métodos estáticos não precisam de instâncias para serem alocados em memória.
ECO2004
discorpio:
Bom dia a todos
Métodos estáticos, (static) apesarem de estarem no escopo da classe externa, eles não são membros da instância de classes, o mesmo acontece com as variáveis que são declaradas como estáticas.
Na linguagem Java, nenhum método pode ser declarado fora do escopo de classes, porém na linguagem Object Pascal do Delphi isto é permitido, pois métodos estáticos não precisam de instâncias para serem alocados em memória.