Criar uma classe abstrata em Java
A classe abstrata em Java é uma classe que contém um ou mais métodos abstratos, que são simplesmente declarações de método sem um corpo - isto é, sem código executável que implementa a classe ou método. Um método abstrato é como um protótipo para um método, declarando lista tipo de retorno e parâmetro do método, mas não fornecer uma implementação real do método.
Você não pode instanciar uma classe abstrata. No entanto, você pode criar uma subclasse que se estende uma classe abstrata e fornece uma implementação dos métodos abstratos definidos pela classe abstrata. Você pode criar uma instância da subclasse.
Para criar um método abstrato, você especifica o modificador abstrato e substituir o corpo do método com um ponto e vírgula:
-Tipo de retorno método nome abstrato pública (lista de parâmetros) -
Aqui está um exemplo:
hit int public abstract (int batSpeed) -
Para criar uma classe abstrata, você usa o abstrato na declaração de classe e incluir pelo menos um método abstrato. Por exemplo:
Bola public abstract class {hit int public abstract (int batSpeed) -}
Você pode criar uma subclasse de uma classe abstrata como este:
classe pública BaseBall estende Bola {hit public int (int batSpeed) {// código que implementa o método hit vai aqui}}
Quando você subclasse uma classe abstrata, a subclasse deve fornecer uma implementação para cada método abstrato na classe abstrata. Em outras palavras, ele deve substituir cada método abstrato.
Classes abstratas são úteis quando você deseja criar um tipo genérico que é usado como a superclasse para dois ou mais subclasses, mas a própria superclasse não representa um objeto real. Se todos os empregados ou são assalariados ou por hora, por exemplo, faz sentido para criar um resumo Empregado classe e, em seguida, usá-lo como a classe base para o SalariedEmployee e HourlyEmployee subclasses.
Aqui estão alguns detalhes adicionais sobre classes abstratas:
Nem todos os métodos em uma classe abstrata tem que ser abstrato. Uma classe pode fornecer uma implementação para alguns dos seus métodos, mas não outros. Na verdade, mesmo se uma classe não possui métodos abstratos, você ainda pode declará-lo como abstrato. (Neste caso, no entanto, a classe não pode ser instanciada.)
Um método particular não pode ser abstrato. Todos os métodos abstratos devem ser públicos.
Uma classe não pode ser tanto abstrato e final.