调用新的Object()时会发生什么?

时间:2011-07-16 18:14:12

标签: java object

我试图弄清楚在创建Object时会发生什么,但我没有在Object.java中找到Object()构造函数方法,即使文档说Object()存在。

2 个答案:

答案 0 :(得分:4)

Object确实有一个no-arg构造函数,你可以通过转储类的字节代码来看到它,使用

javap -v java.lang.Object


public java.lang.Object();
Code:
Stack=0, Locals=1, Args_size=1
0:  return
LineNumberTable: 
line 20: 0

答案 1 :(得分:2)

Object object = new Object();

这是完全有效的代码。它基本上什么都不做。我见过的唯一用途是将它用作锁:

int c = 0;
Object lock = new Object();

...

synchronized(lock) { 
    c++;
}