1
resposta

Método abstrato em uma Classe concreta

Por que não é permitido ter um método abstrato em classe concreta?

1 resposta

Se classes concretas pudessem ter métodos abstratos você poderia instanciar um objeto Shape, mas quando você chamasse o método draw, ele não saberia o que desenhar! Mesmo que soubesse dizer sua cor, posição ou 1000 outras coisas. Se não estiver 100% especificado, não poderá existir como objetos de trabalho.

Portanto, a linguagem Java requer que tais classes sejam marcadas como abstratas. Então você não poderá usá-las para criar objetos, pois eles não sabem como fazer 100% das coisas que você espera de um objeto concreto. Você só pode usar classes abstratas para se referir a elas. Graças a isso você como programador pode ter certeza que apenas classes que possuem todos os seus métodos implementados serão usadas para criar seus objetos.