A few additions:
These methods are
not constructors. Calling them constructors will just create confusion.
The term "fluent interface" was coined by Martin Fowler and Eric Evans,
here. Methods that return "this" are a common feature of fluent interfaces, but not the only one. Read the article for more info.
java.util.regex.Pattern and java.util.Scanner are two mainstream Java classes that use this style, as well.
And while they're still not
that common in the Java programming world, some projects use them extensively, and some companies as well. We use them all the time where I work, for example.
Recently there's been some interest in
a possible minor language change for JDK 7 which might support this more directly, by having the compiler infer a "return this" at the end of any method that currently returns void. Thus, all existing conventional setters would
automatically return this, without us programmers needing to rewrite any code. I think it sounds like a nice idea. But last I heard, it probably won't make it into JDK 7. (Like most other cool features, it seems.)