ARTICLE · INTELLIGENCE

战地情报 · 详情页

来自尧图项目组的一线实战观察与深度解析

为什么java新建一个对象,需要obj o = new obj()这种写法

为什么java新建一个对象,需要obj o = new obj()这种写法

为什么不能像 Python 那样直接 o = Obj() ,就完事了?

Objo=newObj();// ↑ ↑// │ └─ ② 在堆内存中创建对象(运行时动作)// └────── ① 声明一个引用变量(编译期动作)

左边 Obj o:**声明一个类型为 Obj 的引用变量 o。**此时 o 还没有指向任何对象,它只是一个"能装 Obj 地址的盒子"。

右边 new Obj():真正在堆内存里分配空间、创建对象实例,并返回这个对象的内存地址。

中间的 =:**把这个地址赋给变量 o。**此后 o 就"指向"了那个对象。

RELATED READING

延伸阅读

更多一线实战笔记与深度复盘,助您持续精进