class Animal
{
public void callme()
{
System.out.println("In callme of Animal");
}
}
class Dog extends Animal
{
public void callme()
{
System.out.println("In callme of Dog");
}
public void callme2()
{
System.out.println("In callme2 of Dog");
}
}
public class UseAnimlas
{
public static void main (String [] args)
{
Dog d = new Dog();
Animal a = (Animal)d;
d.callme();
a.callme();
((Dog) a).callme2();
}
}
Вы можете рассмотреть этот пример для повышения уровня. Какая здесь польза от апкастинга? И d, и a дают одинаковый результат!
Я пролистал большую часть статей в сети, но так и не смог понять, почему нужно использовать апкастинг.
[code]class Animal { public void callme() { System.out.println("In callme of Animal"); } }
class Dog extends Animal { public void callme() { System.out.println("In callme of Dog"); }
public void callme2() { System.out.println("In callme2 of Dog"); } }
public class UseAnimlas { public static void main (String [] args) { Dog d = new Dog(); Animal a = (Animal)d; d.callme(); a.callme(); ((Dog) a).callme2(); } } [/code]
Вы можете рассмотреть этот пример для повышения уровня. Какая здесь польза от апкастинга? И d, и a дают одинаковый результат!