问答详情
源自:10-2 多态中的引用类型转换

可以先创建cat子类内存空间吗?

可以
Cat cat = new Cat();
Cat cat = (Cat)animal;

这样吗

提问者:chenkaifan 2018-09-17 17:12

个回答

  • 晨旭圆
    2018-10-01 10:39:37

    Cat cat=new Cat();//开辟个新内存

    Animal animal1=cat;//先父类的引用一个对象,进行向上类型转换

    Cat cat1=(Cat)animal1;//再进行强制转换

    PS:我是怎么做才转换成功的


  • 洛辰m
    2018-09-30 17:43:49

    例子中的animal已经指向对象dog了,把一个狗转化成猫,程序说他做不到啊!

  • ZHONGSONGLIN
    2018-09-18 18:30:42

    感觉系统会提示 cat cat= (cat)animal 错误

    因为同名了;

    而且如果animal是老师说的

    Dog dog =new Dog();

    Animal animal =  dog;

    中的animal的话那就不行

    以上是我的观点 欢迎提出反驳