背景:作为一个开发仔,根本不缺对象,天天new,天天new,突然有点好奇中间的过程是啥样的。
下面创建这个Dog对象做了些啥呢?
// 创建一个Animal对象
Dog dog = new Dog();
存在对象声明、创建与赋值3个步骤
- 声明一个引用变量,要求java虚拟机分配空间给引用变量,并将此变量命名为dog,此引用变量固定位Dog类型(Dog dog = new Dog())。
- 创建对象,要求java虚拟机分配堆空间给新建立的Animal对象(Dog dog = new Dog())。
- 连接对象和引用,将Animal对象引用地址赋值给animal变量(Dog dog = new Dog())。