首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >向上转换-在调用subcalss对象时

向上转换-在调用subcalss对象时
EN

Stack Overflow用户
提问于 2012-06-16 15:12:42
回答 1查看 55关注 0票数 0

一个简单的向上转换正在进行,其中sub (狗)的对象被它的超类(Animal)引用。

为什么我不能调用方法'callme2()‘

代码:-

代码语言:javascript
复制
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 ?
     }
    }
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2012-06-16 15:15:03

因为a被分配给超类Animal

您可以按如下方式调用该方法:

代码语言:javascript
复制
((Dog)a).callme2() 
票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/11061557

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档