2017-03-07 11 views
1

pls、誰かが "非ローカル"変数がjavaにある例を説明できますか?Javaの非ローカル変数

私の理解 非ローカル変数はオブジェクト変数です。しかし、呼び出されたオブジェクト変数は、オブジェクトメソッドで使用される変数を参照することになりますか?

+0

用語 '非ローカル変数は、' 一般的に、Javaで使用されていません。 https://docs.oracle.com/javase/tutorial/java/nutsandbolts/variables.htmlでは、何が何かの概要を説明します。 – pvg

答えて

0

ローカル変数は、方法の{および}内で宣言されます。中括弧の外側では、変数はアクセスできなくなり、ガベージコレクトされます。 私が知っている限り、オブジェクト変数は実際にはJavaのものではなく、インスタンス変数またはクラス変数を持つことができます。これらは技術的には「非ローカル」変数になります。

1

インスタンス変数は、(非ローカル)クラス内で宣言が、メソッド、コンストラクタ、または任意のblock.Instance変数外のクラスのインスタンスに属している、すべてのオブジェクトは、それは、インスタンス変数の独自のコピーがありますしている

Javaプログラミング言語で
2

public class InstanceClassSample { 

    String name = "Java"; 

    public void testName(){ 

     //instanceClassSample and instanceClassSample2 will have it own copy of name 

     InstanceClassSample instanceClassSample = new InstanceClassSample(); 
     InstanceClassSample instanceClassSample2 = new InstanceClassSample(); 

     System.out.println(instanceClassSample.name); 
     System.out.println(instanceClassSample2.name);  

    } 



} 
there are 4 kinds of variables.

ローカル変数は:これらのメソッドのスコープ内で宣言された変数です。メソッドは、その一時的な状態をローカル変数に格納することがよくあります。

ローカル以外の変数を求める場合、ローカル変数以外のすべての変数を参照します。以下のような

  1. インスタンス変数(非staticフィールド)
  2. クラス変数(staticフィールド)
  3. パラメータ
関連する問題