Originally posted by M Beck:
it's not necessary in Java, but i like to do it myself too. it makes explicit that you're referring to an instance method/variable as opposed to a static method/variable; in the case of variables, it also distinguishes between locals and instance/class variables. i feel explicit is better than implicit, so i accept the extra verbosity of using the "unnecessary" this everywhere.
I used to use "warts" for this purpose: m_something for instance members, s_something for statics, no warts for locals. But now that IDEs have gotten smart enough to color these three in different colors, you can see at a glance what something is without using "this"
or a "wart." I use yellow for locals, purple for members, and bright green for statics.