Cast e herança

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

se eu fizer o seguinte:

[code]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[/code]

Alguém pode me ajudar?

[]'s

Levando em consideração o seguinte:

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

Não pode fazer o último cast.

ok…

obrigado.

0=D