Java переменная область - PullRequest
       1

Java переменная область

0 голосов
/ 30 декабря 2010

когда переменная инициализируется как в локальной области, так и в глобальной области, как мы можем использовать глобальную область без использования ключевого слова this в одном классе?

Ответы [ 5 ]

7 голосов
/ 30 декабря 2010
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    
    }    
}  

См. Также:

2 голосов
/ 30 декабря 2010
public class VariableScope {

    int i=12;// Global
    public VariableScope(int i){// local

        System.out.println("local :"+i);
        System.out.println("Global :"+getGlobal());
    }
    public int getGlobal(){
        return i;
    }
}
2 голосов
/ 30 декабря 2010

Если вы определяете ссылку на переменную с помощью this, она всегда будет указывать на переменную экземпляра.

Если метод объявляет локальную переменную с тем же именем, что и у переменной уровня класса, первая будет «скрывать» последнюю. Чтобы получить доступ к переменной уровня класса внутри тела метода, используйте ключевое слово this.

2 голосов
/ 30 декабря 2010

Без этого невозможно.Явление называется переменным сокрытием .

2 голосов
/ 30 декабря 2010

Если вы не используете this, это всегда будет локальная переменная.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...