Dúvida

4 respostas
peresjuliao

abstract class MineBase { abstract void amethod(); static int i; } public class Mine extends MineBase { public static void main(String argv[]){ int[] ar=new int[5]; for(i=0;i < ar.length;i++) System.out.println(ar[i]); } }

Por que compila? Não deveria dar erro de execução?

4 Respostas

E

Você não instanciou (direta ou indiretamente) nenhum objeto da classe Mine (que continua a ser abstrata, pois alguns de seus métodos não foram implementados).

Tiago.Argolo

Se tu herda uma classe abstrata e você, por sua vez, não é também uma classe abstrata… você tem que, obrigatoriamente, implementar todos os métodos abstratos herdados para poder, de fato, utilizar esta classe herdada.

Implemente o método amethod() para que possa compilar.

peresjuliao


Implemente o método amethod() para que possa compilar.

Esse é problema está compilando. É realmente isso que eu gostaria de saber o por que da compilação sem sobreescrever a classe amethod no main.

Tiago.Argolo

Hum… então deve ser isso que o nosso amigo entanglement falou!

Criado 5 de junho de 2010
Ultima resposta 5 de jun. de 2010
Respostas 4
Participantes 3