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

来源:10-2 多态中的引用类型转换

chenkaifan

2018-09-17 17:12

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

这样吗

写回答 关注

3回答

  • 晨旭圆
    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的话那就不行

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

Java入门第二季 升级版

课程升级!以终为始告别枯燥,在开发和重构中体会Java面向对象编程的奥妙

530715 学习 · 6091 问题

查看课程

相似问题