为什么我的父类和转换为子类就出错,不能强制转换啊?

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

冬天5

2017-05-06 10:22

http://img.mukewang.com/590d33050001b10713600768.jpg为什么我的父类和转换为子类就出错,不能强制转换啊?

写回答 关注

6回答

  • 慕盖茨038235
    2017-05-25 17:44:31

    你报错的那一行的意思是Dog类的引用指向父类。有这个说法吗?没有吧。前面说过:一种是父类的引用指向本类的对象,如Animal animal=new Animal();一种是父类的引用指向子类对象,如Animal animal=new Dog();还有一种就是你上面所要表达的意思:子类的引用指向父类对象,如Dog dog=(Dog)new Animal();所以你应该写成:

    Dog dog2=(Dog)new HelloWorld();

  • chenxuelan
    2017-05-10 15:15:13

    你的HelloWorld从哪来的,你强制转化是Dog,怎么是HelloWorld呢

  • 慕婉清0689395
    2017-05-09 21:35:15

    你要先实例化父类对象啊

  • qq_莫逆23
    2017-05-06 15:44:13

    对于这个问题,首先你得先声明这个HelloWorld这个类就像声明Dog这个类一样,然后才可以转换,在Dog dog2 = (Dog) helloworld;之前加上这个HelloWorld helloworld = new HelloWorld(); 希望能够帮助到你

  • David彭
    2017-05-06 10:35:23

    你的类名错了HelloWorld

  • David彭
    2017-05-06 10:34:17

    首字母大写

Java入门第二季 升级版

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

530559 学习 · 6091 问题

查看课程

相似问题