when a variable is initialize both in local scope as well as global scope how can we use global scope without using this keyword in the same class?
-
6I'm not sure what you mean by "global scope" in the context of Java. A code sample would go a long way for this question.Tyler– Tyler2010-12-30 07:34:07 +00:00Commented Dec 30, 2010 at 7:34
-
2Why would you try to avoid using 'this'? That is the way to do it.StaxMan– StaxMan2010-12-30 08:49:46 +00:00Commented Dec 30, 2010 at 8:49
-
Given that Java doesn't have global scope, I don't understand the question. Can you please clarify?Jörg W Mittag– Jörg W Mittag2010-12-30 12:14:15 +00:00Commented Dec 30, 2010 at 12:14
Add a comment
|
5 Answers
class MyClass{
int i;//1
public void myMethod(){
i = 10;//referring to 1
}
public void myMethod(int i){//2
i = 10;//referring to 2
this.i = 10 //refering to 1
}
}
Also See :
Comments
If you do not use this it will always be the local variable.
1 Comment
Arun P Johny
If there is no variable in local scope with the same name as a instance variable then you can use the instance variable with out the
this prefixIf you are scoping the variable reference with this it will always point to the instance variable.
If a method declares a local variable that has the same name as a class-level variable, the former will 'shadow' the latter. To access the class-level variable from inside the method body, use the this keyword.
2 Comments
Vladimir Ivanov
If you are scoping the variable reference with this it will always point to the FIELD variable.
Arun P Johny
@Vladimir You are right. I've corrected that. It was a mistake.