一个简单的向上转换正在进行,其中sub (狗)的对象被它的超类(Animal)引用。
为什么我不能调用方法'callme2()‘
代码:-
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");
}
}
class upcasting
{
public static void main (String [] args) throws Exception
{
Animal a = new Dog();
a.callme(); //-In call me of Dog
a.callme2(); // - error why ?
}
}发布于 2012-06-16 15:15:03
因为a被分配给超类Animal
您可以按如下方式调用该方法:
((Dog)a).callme2() https://stackoverflow.com/questions/11061557
复制相似问题