Olá pessoal,
Estava dando uma olhada nas classes do Java e percebi que algumas como, System, possuem construtor privado e são final, evitando assim uma instância e extensão da classe e disponibilizando aos devs apenas a possibilidade de trabalhar com os métodos estáticos. Gostaria de saber a diferença dessa abordagem em relação ao uso de classe abstrata. Só consegui pensar que usando abstract o dev tem a intenção e promove a opção de aquela classe ser estendida.
Obrigado.