変数がローカルスコープとグローバルスコープの両方で初期化される場合this
キーワードを同じクラスに使用せずにグローバルスコープを使用するにはどうすればよいですか?Java変数スコープ
答えて
this
を使用しない場合は、常にローカル変数になります。
インスタンス変数と同じ名前のローカルスコープに変数がない場合は、インスタンス変数を 'this'プレフィックスなしで使用できます。 –
これがなければ不可能です。現象はvariable hidingと呼ばれます。
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
}
}
参照:
をあなたはthis
を持つ変数の参照をスコープしている場合、それは常にインスタンス変数を指します。
メソッドがクラスレベルの変数と同じ名前を持つローカル変数を宣言する場合、前者は後者を「シャドウ」します。メソッド本文の中からクラスレベルの変数にアクセスするには、thisキーワードを使用します。
これで変数参照をスコープすると、常にFIELD変数を指します。 –
@Vladimirあなたは正しいです。私はそれを修正しました。それは間違いでした。 –
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;
}
}
- 1. Javaの変数スコープ
- 2. Javaのスコープ変数
- 3. のJava 8のラムダ変数のスコープ
- 4. JavaのFOR LOOPのローカル変数のスコープ
- 5. Java出力変数スコープの問題
- 6. Javascriptスコープ変数
- 7. Foreach変数スコープ
- 8. mootools変数スコープ
- 9. スコープ変数AngularJS
- 10. javascript変数スコープ
- 11. カスタム変数スコープ
- 12. AJAX変数スコープ
- 13. ノード変数スコープ
- 14. Winform変数スコープ
- 15. 変数スコープとグローバル変数
- 16. C#のスコープ変数?
- 17. C++クラス変数スコープ
- 18. モジュールと変数スコープ
- 19. 変数のスコープ - イベントリスナー
- 20. Pythonコールバック変数スコープ
- 21. C++変数のスコープ
- 22. Pythonグローバル変数スコープ
- 23. スコープ変数は、HTML
- 24. Junitテストクラス変数スコープ
- 25. JavaScriptの変数スコープ
- 26. AngularJSバインド$スコープ変数
- 27. maxscriptのスコープ変数
- 28. ハスケル:変数がスコープ
- 29. Pythonグローバル変数スコープ
- 30. 変数のAngularJSスコープ
Javaのコンテキストで「グローバルスコープ」とは何を意味するのかよくわかりません。コードサンプルはこの質問のために長い道のりになります。 – MatrixFrog
「this」の使用を避ける理由は何ですか?それがそれを行う方法です。 – StaxMan
Javaが*グローバルスコープを持っていないことを考えると、私はその質問を理解していません。あなたは明確にしていただけますか? –