Classes abstratas servem para impedir que uma classe possa ser instanciada. Esse é o efeito direto de se usar o modificador abstract na declaração de uma classe:
abstract
abstract class Animal { String nome; double peso;