Cast e herança

2 respostas
thiagossantos

Digamos que eu tenha uma classe Bicicleta que seja uma subclasse da classe Veículo.

se eu fizer o seguinte:

Veículo v = new Veículo();
Bicicleta b = new Bicicleta();

Veículo v2 = b; 
// -->aqui eu estou fazendo uma referência a "b" como sendo um veículo? (isso faz sentido... to afirmando)

Bicicleta b2 = (Bicicleta) v2;
// --> Isso aqui eu até aceito, já que v2 
//é uma referência a uma Bicicleta mesmo...

Bicicleta b3 = (Bicicleta) v;
// --> isso aqui pode? 
//porque não faz sentido, eu to dizendo que um veículo é uma bicicleta?
// o que o java em si faz quando eu uso esse comando? 
//(isso se ele for possível) 
//ou eu só posso fazer esse cast se a referência de "v" for realmente
// uma Bicicleta

Alguém pode me ajudar?

[]'s

2 Respostas

kina

Levando em consideração o seguinte:

public class Veiculo{
}
public class Bicicleta extends Veiculo{
}

Não pode fazer o último cast.

thiagossantos

ok…

obrigado.

0=D

Criado 31 de maio de 2005
Ultima resposta 31 de mai. de 2005
Respostas 2
Participantes 2