Duvidas com Classes Aninhadas.  XML
Índice dos Fóruns » Java Básico
Autor Mensagem
Doug Floriano
Entusiasta Java
[Avatar]

Membro desde: 11/01/2007 13:09:47
Mensagens: 21
Offline

Galera, vê se pode me ajudar...

Estava estudando e fazendo alguns testes com Classes Aninhadas, e fiz o código abaixo e compilei.
O problema (ou não) é que compilou e Executou, isso fazendo no pelo Prompt e executando o javac, tentei pelo Eclipse e dava erro.
Ao executar percebi 2 coisas que me deixaram com muitas duvidas.
Como pode a classe D extender a classe B, e mesmo extendendo, o super da classe D executar na Classe A?

Se alguém puder me ajudar, só para eu não ficar com duvidas referente a Classes Aninhadas.

Obs. Só funcionou executando pelo Prompt.

Falou.




Se você viver cada dia como se fosse o último, um dia ele realmente será.
[Email] [MSN]
LPJava
GUJ Hacker

Membro desde: 18/04/2006 12:50:23
Mensagens: 5524
Localização: Bahia/Porto Alegre
Offline

qual erro que dava no eclipse? copia e cola ai.. lembrar que a class interna é-um membro da class externa... respondendo sua pergunta todos ai estao no mesmo package e outra um construtor chama o outro ate chega Object... apenas isso!...

Sun Certified Java Programmer 5.0
Blog:http://www.camilolopes.com
Twitter:www.twitter.com/camilolope
Linkedin: http://br.linkedin.com/in/camilolopes
Curso online OCPJP: http://pro.imasters.com.br/online/cursos/preparatorio-para-certificacao-java-ocjp
Autor livro Guia SCJP & JEE c/ Frameworks: http://blog.camilolopes.com.br/livrosrevistaspalestras/
[WWW]
Doug Floriano
Entusiasta Java
[Avatar]

Membro desde: 11/01/2007 13:09:47
Mensagens: 21
Offline

Classe_C_Construtor
Exception in thread "main" java.lang.Error: Unresolved compilation problem:
B cannot be resolved to a type


at C$D.<init> (TesteClasses.java:23)
at TesteClassesAninhadas.main (TesteClasses.java:35)



//Entendi a sua resposta CamiloLopes , ajudou para tirar a duvida.
//Valeu.

Se você viver cada dia como se fosse o último, um dia ele realmente será.
[Email] [MSN]
neohacker
Virtual Machine Man
[Avatar]

Membro desde: 30/10/2006 15:23:14
Mensagens: 576
Localização: Santo André
Offline

nesta parte vc precisa alterar:



para

{

porque a classe B é uma classe interna então vc precisar acessar pela classe externa...

tomara que eu não esteje errado...hehe

http//www.tecnologiaims.blogspot.com

↑ Grab this Headline Animator

http://www.imstechnology.blogspot.com
[Email] [WWW]
LPJava
GUJ Hacker

Membro desde: 18/04/2006 12:50:23
Mensagens: 5524
Localização: Bahia/Porto Alegre
Offline

vc nao pode acessar uma class interna diretamente nao.. pois ela é-um membro da class encapsuladora... tenho q informar a class externa.. espero tb estar certo..

Sun Certified Java Programmer 5.0
Blog:http://www.camilolopes.com
Twitter:www.twitter.com/camilolope
Linkedin: http://br.linkedin.com/in/camilolopes
Curso online OCPJP: http://pro.imasters.com.br/online/cursos/preparatorio-para-certificacao-java-ocjp
Autor livro Guia SCJP & JEE c/ Frameworks: http://blog.camilolopes.com.br/livrosrevistaspalestras/
[WWW]
Doug Floriano
Entusiasta Java
[Avatar]

Membro desde: 11/01/2007 13:09:47
Mensagens: 21
Offline

no caso de.



como o NeoHacker disse.

Eu só não acessaria a classe B com a classe A instaciada?
seria melhor então deixar a classe B static?

Se você viver cada dia como se fosse o último, um dia ele realmente será.
[Email] [MSN]
LPJava
GUJ Hacker

Membro desde: 18/04/2006 12:50:23
Mensagens: 5524
Localização: Bahia/Porto Alegre
Offline

o problema do static que ela nao tem instancia e so pode ser acessada por outro membro static.. lembre-se nao existe class static... qdo vc poe o modificador static em uma class aninhada, so ta dizendo que seu membro é static é o mesmo que abaixo:

o membro z da class Z é static... com class aninhadas nao muda nada a respeito mesma ideia..

Sun Certified Java Programmer 5.0
Blog:http://www.camilolopes.com
Twitter:www.twitter.com/camilolope
Linkedin: http://br.linkedin.com/in/camilolopes
Curso online OCPJP: http://pro.imasters.com.br/online/cursos/preparatorio-para-certificacao-java-ocjp
Autor livro Guia SCJP & JEE c/ Frameworks: http://blog.camilolopes.com.br/livrosrevistaspalestras/
[WWW]
Doug Floriano
Entusiasta Java
[Avatar]

Membro desde: 11/01/2007 13:09:47
Mensagens: 21
Offline

Fiz outros teste, deixando



Ao compilar, ja da erro, pois pede a intância da classe A, mas acho que isso não é possível.

até que deixando a classe B static rolou bem, e o super da classe D acessou a classe B direto.

mas acho que estou tentando só doideira, rsrss

é acho que preciso estudar muito mais esse "causos meio doidos" rsrs, valeu pelas dicas.

Se você viver cada dia como se fosse o último, um dia ele realmente será.
[Email] [MSN]
wellington.nogueira
GUJ Ranger
[Avatar]

Membro desde: 11/08/2006 11:29:56
Mensagens: 914
Localização: Osasco-SP
Offline

Então,
A classe precisa ser static senão não rola.

Exemplo:

57 45 4C 4C 49 4E 47 54 4F 4E
Você é novo no GUJ? Vai criar um tópico e colar seu código-fonte? Leia aqui antes, por favor!
"Se você acha que programar em Java com Swing é simples? Acredite em mim, não é!"
http://developmentforever.wordpress.com/
 
Índice dos Fóruns » Java Básico
Ir para:   
Powered by JForum 2.1.8 © JForum Team