é uma classe interna sem um nome e para a qual apenas um único objeto é criado.
Uma classe interna anônima pode ser útil ao criar uma instância de um objeto com certos “extras”,
como métodos de sobrecarga de uma classe ou interface, sem ter de realmente criar uma subclasse de uma classe.
Quando uma classe não tem atributos, e implementa um unico método de uma interface, essa classe se torna elegivel
para se tornar uma classe anonima.
permite definir uma interface funcional (novamente, um método abstrato) que o compilador identifica pela estrutura. O compilador pode determinar a interface funcional representada a partir de sua posição. O tipo de uma expressão lambda é o da interface funcional associada.
https://github.com/ZupperLeo/classes-anonimas-e-lambdas/commit/1a736b516a63369d212dc73e38bade8cdcb2ffea#diff-deccd25cc597815eaeed05c8c32e73ddd489e22f0f069ee126ba76267e0f33c2