変数がローカルスコープとグローバルスコープの両方で初期化される場合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. AJAX変数スコープ
- 3. Winform変数スコープ
- 4. javascript変数スコープ
- 5. Foreach変数スコープ
- 6. mootools変数スコープ
- 7. javascriptグローバル変数スコープ
- 8. Junitテストクラス変数スコープ
- 9. Rubyの変数スコープ
- 10. C#のスコープ変数?
- 11. jQuery/javascript変数スコープ
- 12. cmake変数スコープ、add_subdirectory
- 13. C++クラス変数スコープ
- 14. Pythonグローバル変数スコープ
- 15. JavaScriptの変数スコープ
- 16. 別のスコープでAngularJSスコープ変数を使用する変数
- 17. PHP関数変数のスコープ
- 18. JavaScriptファクトリ変数の変数スコープ
- 19. 同じ変数名の変数スコープ?
- 20. ページASP.NET内のスコープ変数
- 21. jqueryの変数のスコープ
- 22. 連結スコープ変数は
- 23. try-catchブロックの変数スコープ
- 24. 変数スコープとneaterコード
- 25. IFステートメントのjavascript変数スコープ
- 26. スコープ変数は$ rootScopeで$ null
- 27. スクリプトタグtext/babel変数スコープ
- 28. MooToolsはクラス変数のスコープ
- 29. VB6ローカル変数のスコープ
- 30. Android用アプリケーションレベルのスコープ変数
Javaのコンテキストで「グローバルスコープ」とは何を意味するのかよくわかりません。コードサンプルはこの質問のために長い道のりになります。 – MatrixFrog
「this」の使用を避ける理由は何ですか?それがそれを行う方法です。 – StaxMan
Javaが*グローバルスコープを持っていないことを考えると、私はその質問を理解していません。あなたは明確にしていただけますか? –