There is a difference in the generated bytecode. You can see the bytecode with javap -c MyObject.class
.
the first one does this:
0: new
3: dup
4: invokespecial
7: astore_1
8: aload_1
9: areturn
The second one does this:
0: new
3: dup
4: invokespecial
7: areturn
The main reasoning however, should be readability and not micro-optimization. In this case I think readability and micro-optimization happen to coincide.