Inner class

2 respostas
antoniopopete

Po galera todo mundo fala sobre o uso de inner class como “listeners” e tratadores de eventos e tals.
Mas…alguem poderia me dar exemplos mais claros de usos dessas coisas?
Realmente,qual outra utilidade?
Alguem ja usou,fora quem trabalha com swing?
E outra coisa…Alguem ja precisou instanciar uma inner classe de fora da classe outer?

2 Respostas

xgucax

Cara eu utilizei muito quando queria trabalhar com multithreading
E sim, já instanciei fora da outer

ViniGodoy

Vale tanto para listeners quanto para o caso do runnable.

Ah! E existe o caso dos enum. Muitas vezes o melhor lugar para se criar um enum (mesmo público) é dentro da própria classe. Afinal, muitas vezes o enum só faz sentido dentro da classe.

Por exemplo:

public class Vitrola { public enum Estados {ON, OFF, PAUSE}; public Estados estado = Estados.OFF; public Estados getEstado() {return estado}; //Demais implementações }
Nesse caso, você pode fazer (fora da classe)

public boolean estaDesligado(Vitrola vitrola) { return vitrola.getEstado() == Vitrola.Estados.OFF; }
Note que a classe estados só faz sentido se associada a vitrola. Usa a inner class estatica desse jeito evita também criar uma classe “VitrolaEstados” que teria que ser importada toda vez que uma vitrola fosse importada…

Criado 12 de janeiro de 2007
Ultima resposta 12 de jan. de 2007
Respostas 2
Participantes 3