Что происходит, когда вы вызываете новый Object ()? - PullRequest
0 голосов
/ 16 июля 2011

Я пытался выяснить, что происходит при создании объекта, но я не нашел метод конструктора Object () в Object.java, даже если в документации сказано, что Object () существует.

Ответы [ 2 ]

4 голосов
/ 16 июля 2011

Объект действительно имеет конструктор без аргументов. Вы можете увидеть это, выгрузив байт-код для класса, используя

javap -v java.lang.Object


public java.lang.Object();
Code:
Stack=0, Locals=1, Args_size=1
0:  return
LineNumberTable: 
line 20: 0
2 голосов
/ 16 июля 2011
Object object = new Object();

Это совершенно правильный код.По сути, это ничего не делает.Единственное использование, которое я видел с этим, использует это как блокировку:

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

...

synchronized(lock) { 
    c++;
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...