Dog dog = new Dog();
Animal animal = dog;
上面是把dog子类对象 转成了 animal父类对象。
Animal animal = new Dog();
这个则是直接用父类指向子类创建的对象。
这两个过程的结果有区别吗?
最后animal这个引用变量都指向Animal类的对象,就这个结果来说是没有区别的,但第一种方法创建了dog这个Dog类的引用变量,第二个方法是没有的
一样的。通俗点的话,就是将一个Dog对象,放进了Animal
Dog dog = new Dog();
Animal animal = dog;
会存在一个类型转换
Animal animal = new Dog();
使用的JAVA中的多态性
执行结果是一样的