我就看懂了第一行是创建了个Dog类型的dog对象,下面几行代码理解不了,有没有大佬能解释一下

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

热心市民刘先生

2018-07-20 09:38

Dog dog=new Dog();		
Animal animal=dog;		
Dog dog2=(Dog)animal;
    if(animal instanceof Cat){			
        Cat cat=(Cat)animal;		
    }else {			
        System.out.println("无法进行类型转换");		
    }


写回答 关注

2回答

  • 慕盖茨9799486
    2018-07-23 00:38:57

    这个转换没有具体的意思,就是一个想象成一个大小东西的相互转换而已。


  • 200强
    2018-07-20 10:53:24

    animal是dog的父类,第二行是把dog类转换成父类,第三行是再把父类强转回dog类,第4行判断animal的属性是否有cat类的属性,如果有,animal才能强转为cat类,否则类型转换失败。这是大概的意思

    200强 回复热心市民刘先...

    跟第一行类似,把第一行创建的dog对象强转为Animal类型的animal对象

    2018-07-20 12:19:14

    共 2 条回复 >

Java入门第二季 升级版

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

530655 学习 · 6091 问题

查看课程

相似问题