Considere o seguinte código em Java:
public abstract class AbstractClass {
public AbstractClass(){
System.out.println("this is an abstract class constructor!");
}
public void aMethod() {
System.out.println("This is in the method in the abstract class");
}
}
O que acontecerá se tentarmos compilar este código?
A)
Erro de compilação: classes abstratas não podem ter construtores.
B)
Erro de compilação: o método AbstractClass não tem um tipo de retorno válido.
C)
Compila: a classe é praticamente uma classe não-abstrata e pode ser instanciada.
D)
Compila: a classe não pode ser instanciada diretamente. Ela deve ser herdada por uma classe não-abstrata (classe concreta). Os construtores da classe estendida chamarão o construtor da classe abstrata.
E)
Erro de compilação: a classe abstrata apresenta erro de sintaxe.
Soluções para a tarefa
Resposta:
Compila: a classe não pode ser instanciada diretamente. Ela deve ser herdada por uma classe não-abstrata (classe concreta). Os construtores da classe estendida chamarão o construtor da classe abstrata.
Explicação:
É difícil de explicar.
D) Compila: a classe não pode ser instanciada diretamente. Ela deve ser herdada por uma classe não-abstrata (classe concreta). Os construtores da classe estendida chamarão o construtor da classe abstrata.
Java consiste em uma linguagem de programação destinada a objetos criados na década de 90 por uma equipe de programadores. A definição dos blocos de programação em Java deve ser feita com { para o início e } para o fim do bloco.
Ao analisar o código em Java apresentado no enunciado da questão, é preciso considerar que o mesmo compila o código, mas a classe não pode ser instanciada de forma direta, em que a mesma deve ser herdade por uma classe não-abstrata.
Bons estudos!