Suppose I have
class MyObject
{
Object object1 = new Object();
Object object2;
public MyObject()
{
object2 = new Object();
}
If you want to confirm behavior, use javap or a similar tool to inspect the bytecode. Though Jon is correct, refer to the specification as a first port of call.
Compiled from "MyObject.java"
class MyObject {
java.lang.Object object1;
java.lang.Object object2;
public MyObject();
Code:
0: aload_0
1: invokespecial #11 // Method java/lang/Object."":()V
4: aload_0
5: new #3 // class java/lang/Object
8: dup
9: invokespecial #11 // Method java/lang/Object."":()V
12: putfield #13 // Field object1:Ljava/lang/Object;
15: aload_0
16: new #3 // class java/lang/Object
19: dup
20: invokespecial #11 // Method java/lang/Object."":()V
23: putfield #15 // Field object2:Ljava/lang/Object;
26: return