Sobes.tech
Junior

O que são classes anônimas e onde são aplicadas?

sobes.tech IA

Resposta da IA

Uma classe anónima é uma classe interna local sem nome.

  • Aplicações:

    • Ao criar ouvintes de eventos em aplicações GUI (por exemplo, para botões).
    • Para implementar interfaces ou estender classes abstratas "no local", quando apenas uma instância é necessária e seu uso é local.
    • Em programação multithread para criar instâncias de Runnable ou Callable.
  • Vantagens:

    • Reduzem a quantidade de código quando não é necessária reutilização da classe.
    • Simplificam a leitura do código para implementações simples e de uso único.
  • Desvantagens:

    • Podem tornar o código menos legível para implementações complexas.
    • Não podem ser reutilizadas.
    • O acesso aos campos da classe externa é feito apenas através de variáveis final ou efetivamente finais em versões antigas do Java.
// Exemplo de uso de classe anónima para Runnable
Runnable myRunnable = new Runnable() {
    @Override
    public void run() {
        System.out.println("Executando em uma thread de classe anónima.");
    }
};

new Thread(myRunnable).start();
// Exemplo de uso de classe anónima para ouvinte de evento (hipotético)
// Alguns frameworks UI usam essa abordagem.
//button.setOnAction(new EventHandler<ActionEvent>() {
//    @Override
//    public void handle(ActionEvent event) {
//        System.out.println("Botão clicado!");
//    }
//});