The code listed below compiles fine but fails on execution giving the following the error message.
Exception in
thread "main" java.lang.ClassCastException: Animal
at CastExample.main(CastExample.java:37)
Could someone explain why this is happening.
Thanks
Arifa
import java.io.*;
import java.lang.*;
class Animal
{
public void Barks()
{
System.out.println("Animal Barks");
}
}
class Dog extends Animal
{
public void Barks()
{
System.out.println("Dog Barks");
}
}
class Spaniel extends Dog
{
public void Barks()
{
System.out.println("Spaniel Barks");
}
}
public class CastExample
{
public static void main (
String args[])
{
Spaniel aPet = new Spaniel();
Animal theAnimal = aPet;
theAnimal.Barks();
Animal myAnimal = new Animal();
Dog myDog = (Dog)myAnimal;
myDog.Barks();
}
}