Dúvida Cruel

5 respostas
F

Prezados, estou desenvolvendo um programa que está dando erro e não estou conseguindo identificar.
Segue o erro e o códígo.

Erro:

imprimirVelocidade(Corsa) in aplicativo cannot be applied to (carro)

Código:

public abstract class Carro {

private String placa;

private String cor;
public Carro( String p, String c ) {

placa = p;

cor = c;

}
public String getPlaca() { return placa; }

public String getCor() { return cor; }

public abstract void correr();

}
public class Corsa extends Carro {

public Corsa( String placa, String cor ) {

super( placa, cor );

}

public void correr() { System.out.println( Corsa nao serve para  corrida. ); }

}
public class Aplicativo {

public static void main( String[] args ) {

Carro carro = new Corsa( LSI8766, verde );

imprimirVelocidade( carro );

}
public static void imprimirVelocidade( Corsa c ) {

c.correr();

}

}

Socorram-me, isso es~´a me tirando o sono. Grato.

5 Respostas

analyser

Você não pode instanciar uma classe abstrata, faça Corsa carro = new Corsa(“LSI8766”, “verde”); e dará certo.

gui1039

vê aí se dá certo se vc fizer um cast:

imprimirVelocidade( (Corsa) carro );

RaulCarlin

Não é isso não, ele não está instanciando uma classe abstrata e mesmo que fizer Corsa corsa = new Corsa() o programa não funcionará.

Os erros são: você está chamando um método stático sem referenciar o local deste método, no caso, a classe Aplicativo; e também o método imprimirVelocidade() não está aceitando uma istancia de Carro como parâmetro, somente de Corsa, portanto deveria estar assim:

public class Aplicativo {
	
	public static void main( String[] args ) {
		Carro carro = new Corsa( "LSI8766", "verde" );
		Aplicativo.imprimirVelocidade( carro );
	}

	public static void imprimirVelocidade(Carro c) {
		c.correr();
	}
	
}

Se bem que não precisa do Aplicativo. ao chamar o imprimirVelocidade()… :oops:

LPJava

nao eh querendo ser chato… dar uma lida aqui rapidinho… facilita a nossa vida.

http://www.guj.com.br/posts/list/50115.java

F

RaulCarlin muito obrigado mesmo, essa solução funcionou perfeitamento.

Grato

Criado 19 de junho de 2007
Ultima resposta 20 de jun. de 2007
Respostas 5
Participantes 5