in reply to OO style: Placement of "new"

it seems that I can just use any method name

Which is true for case #1 also. There is nothing special about new, it's only by convention that we use it. Your constructor method can be named anything (literally, "anything"). It's just the wrath of downstream programmers that prevent you from doing so.

And I prefer case #1 for all the reasons all ready pointed out about indirect invocation.

-derby