为什么不能像 Python 那样直接 o Obj() 就完事了ObjonewObj();// ↑ ↑// │ └─ ② 在堆内存中创建对象运行时动作// └────── ① 声明一个引用变量编译期动作左边 Obj o**声明一个类型为 Obj 的引用变量 o。**此时 o 还没有指向任何对象它只是一个能装 Obj 地址的盒子。右边 new Obj()真正在堆内存里分配空间、创建对象实例并返回这个对象的内存地址。中间的 **把这个地址赋给变量 o。**此后 o 就指向了那个对象。