Na verdade, percebi que talvez não fosse a classe interna. Acabei de verificar que sempre que tento acessar de um método não estático a referência única (ao invés de usar this) com a chamada Game.getInstance() dá esse erro, embora não faça sentido.
Em 05/06/11, Matheus Henrique Klem Galvez<[email protected]> escreveu: > Pessoal. Tirei a classe interna e funcionou. Não sei qual foi o problema. > Pq > será que assim não funciona??? > > Em 5 de junho de 2011 14:16, Matheus Henrique Klem Galvez < > [email protected]> escreveu: > >> Olá, >> >> Estou c/ um problema bem estranho aqui na minha implementação. Minha >> classe Game usa o design Sigleton, pois só desejo que ela tenha uma >> instância. Para isso, fiz como manda o protocolo: >> >> 1 - criei uma variável estática do tipo Game e a chamei de instance; >> 2 - coloquei o construtor como private; >> 3 - criei um método estático público chamado getInstance(), cuja >> implementação segue abaixo: >> >> >> public static Game getInstance() { >> if (Game.instance == null) { >> Game.instance = new Game(); >> } >> return instance; >> } >> >> Tudo funcionava bem, pois só chamava o método getInstance() uma vez, >> ao início do jogo. >> O problema é que criei uma classe interna para fazer algumas coisas >> dentro da classe Game e quando chamo a variável instance dentro desta >> classe interna sempre retorna NullPointerException, pois ela vale >> nulo, mesmo já tendo criado a instância de Game no começo! Note que, >> se ao invés de acessar a própria variável instance eu colocar >> Game.getInstance(), ele simplesmente vai criar outra instância de jogo >> e aparece o menu inicial ao invés do que eu quero. É o mesmo problema, >> mas de outra forma: a variável instance volta para nulo >> misteriosamente. >> >> Notem que, mesmo eu colocando a variável instance como final (já >> tentei), ela ainda assim volta misteriosamente para null. >> >> -- >> You received this message because you are subscribed to the Google Groups >> "Comp 2 - Geral" group. >> To post to this group, send email to [email protected]. >> To unsubscribe from this group, send email to >> [email protected]. >> For more options, visit this group at >> http://groups.google.com/group/comp2-geral?hl=en. >> >> > > > -- > ___________________________________ > *"Se, a princípio, a ideia não é absurda, então não há esperança para ela." > Albert Einstein :D * > ___________________________________ > -- ___________________________________ *"Se, a princípio, a ideia não é absurda, então não há esperança para ela." Albert Einstein :D * ___________________________________ -- You received this message because you are subscribed to the Google Groups "Comp 2 - Geral" group. To post to this group, send email to [email protected]. To unsubscribe from this group, send email to [email protected]. For more options, visit this group at http://groups.google.com/group/comp2-geral?hl=en.
