Mais Uma (certificacao)

class Pai { }
class Filho extends Pai { }

public class TesteHeranca {
	public static void main(String[] args) 	{
		Filho fo = (Filho)new Pai();
		Pai pai = new Pai();

		if (fo instanceof Pai) {
			System.out.println("TRUE");
		} else {
			System.out.println("FALSE");
		}
	}
}

Acho que quando executar vai dar erro no casting de pai p/ filho.
É isso?

Eu acho que dá erro nesse casting

Filho fo = (Filho)new Pai();

isso mesmo!

Porque erro no casting?

Estou com duvida…

[quote=“hivaj”]Porque erro no casting?

Estou com duvida…[/quote]

Eu acredito que seja o seguinte:

Você pode fazer isso:

Pai pai = (Pai)new Filho();

Porque a classe Filho tem tudo que o Pai tem e mais alguma coisa, então é possivel fazer isso…

agora o contrário não é válido pois não é possivel fazer o casting ao contrário…

bom eu não sei se essa realmente é a explicação correta, mas eu acredito que seja isso sim!

[]'s