Uma inner class é realmente necessária? Que tipo de aplicação se deve usar uma inner class em Java?
Ainda não conheci um problema que exija o uso de innerclasses, porém, já vi várias situações onde o uso delas torna as coisas mais fáceis e organizadas.
Por exemplo,
Se quiseres organizar atributos de uma classe dentro dela mesma, ao invés de criar as classes espalhadas.
Ou então se quiseres criar event handlers, e por aí vai.
Espero que tenha expandido teus horizontes.
[]s
Um exemplo classico de utilização de inner classes ta nas classes que implementam a interface Collection do java.
Elas usam como inner classes os seus iteradores (q implementam Iterator).
public abstract class AbstractList<E> extends AbstractCollection<E> implements List<E>{
private class Itr implements Iterator<E> {
...
}
public Iterator<E> iterator() {
return new Itr();
}
}
Acho que inner classes sao muito uteis nesse tipo de utilização.