视频中老师讲的父类的引用指向子类对象为什么没有new?
new Dog()的时候已经开辟一个空间,父类的引用指向子类对象就是重新指向这个空间,而不是重新开辟空间,所以不需要再new。
dog这个对象名,在java编译器中默认就是他的内存地址。其实引用也就是子类与父类共用内存地址。已经把dog对象的内存地址赋予父类了,父类引用子类的内存地址,子类已经开辟了一块内存空间,若再使用new关键字,那是再次开辟一块新的内存空间,赋予新的内存地址,不是引用。造成了空间的浪费。
这是普通赋值,你可以赋新值(如用new)或者旧值。