example-

Code:
class animal
{ public void func() {...}
}

class dog extends animal
{ public void func() {...}
}

class cat extends animal
{ public void func() {...}
}

cat c=new cat();
c.func();
((animal)c).func();  //with casting i can call func of animal
so in this example i can call a method of cat and aminal using casting
what i am missing?