Fala, Gustavo! Tudo bem contigo?
Desculpe a demora em dar um retorno!
Quando nós utilizamos Classes Estáticas impossibilita instanciarmos em outras Classes.
Se nós colocarmos static antes das Classes
static class CompararTamanho implements Comparator<String> {...}`
static class EscreverNaLinha implements Consumer<String> {...}
impossibilita instanciar na Classe main
Comparator<String> comparador = new CompararTamanho();
Consumer<String> consumidor = new EscreverNaLinha();
Para que possamos instanciar uma Classe, é obrigatório que ela não seja estática.
Agora vamos a um outro ponto muuuito importante.
Nós não podemos instanciar Classes externas estáticas
public static class ClasseExterna {
public static class ClasseExterna(){
}
}
Porém conseguimos com Classes internas estáticas ;-)
public class ClasseExterna {
public static class ClasseInterna(){
}
}
Acredito que tenha utilizado a segunda opção, Gustavo!!!
Depois me confirme, meu amigo!!!
Espero ter contribuído!!!
Um abraço e bons estudos!!!