We all know that this refers to the actual instance of a class…but it seems to me that most people are not using it. So, should I be using it?
My thoughts about it are as follows: Since this refers to the actual instance of a class, it should be used to access any member of that class.
public void(String newValue) {
this.privateVariable = newValue;
}
This should guarantee that the value is not assigned to an object with the same name within the scope (which could also end up as undefined behavior, anyway). But, what if an underscore is used to separate private from non-private fields:
public voud(String newValue) {
_privateVariable = newValue;
}
this seems in that case a little redundant and unnecessary.
So, are there good reasons to use or not use this? Or am I just racking my brain about nothing?
Personally I only use it when it’s necessary, e.g.
I prefer that to renaming the parameter or field from the most natural name. I don’t use
thiswhere it’s otherwise unnecessary though. Having said that, there’s absolutely no harm in doing so – and if you feel that it makes your code clearer, that’s a very good reason to use it.