O que são classes anônimas em Java e onde podem ser aplicadas?
sobes.tech IA
Resposta da IA
As classes anónimas em Java são classes locais sem nome. Elas são declaradas e criadas ao mesmo tempo. Geralmente são usadas quando é necessária uma implementação única de uma interface ou a extensão de uma classe abstrata ou comum.
Aplicações de classes anónimas:
-
Manipuladores de eventos em GUI: São frequentemente usados para criar manipuladores de cliques em botões ou outras ações do usuário.
// Exemplo com Swing ActionListener JButton button = new JButton("Clique em mim"); button.addActionListener(new ActionListener() { @Override public void actionPerformed(ActionEvent e) { System.out.println("Botão pressionado!"); } }); -
Implementação de interfaces com um método abstrato (interfaces SAM): Antes do aparecimento de expressões lambda, era a principal forma de implementar funcionalidades para essas interfaces.
// Exemplo com Runnable new Thread(new Runnable() { @Override public void run() { System.out.println("Thread iniciada"); } }).start(); -
Criação de objetos "em tempo de execução": Quando é necessário criar rapidamente um objeto com comportamento modificado em relação a uma classe existente sem precisar criar uma classe nomeada separada.
// Exemplo de extensão de uma classe abstrata AbstractList<String> cityList = new AbstractList<String>() { private String[] cities = {"Moscou", "São Petersburgo"}; @Override public String get(int index) { return cities[index]; } @Override public int size() { return cities.length; } }; System.out.println(cityList.get(0)); // Vai imprimir: Moscou
As classes anónimas têm acesso a variáveis locais finais ou efetivamente finais no escopo em que são declaradas. Elas não podem ter membros estáticos e não podem ser abstratas ou finais.