私は試験のために勉強しています.1つの質問で私は理解できません。メソッドで宣言された変数とクラス変数として宣言されたフィールドの違いは何ですか?
質問です:「」クラス変数として宣言されたメソッドで宣言された変数とフィールドの違いは何ですか?「」
誰かが私を啓発することができますしてください?
私は試験のために勉強しています.1つの質問で私は理解できません。メソッドで宣言された変数とクラス変数として宣言されたフィールドの違いは何ですか?
質問です:「」クラス変数として宣言されたメソッドで宣言された変数とフィールドの違いは何ですか?「」
誰かが私を啓発することができますしてください?
他の人がコメントしたように、これはプログラミング言語の変数を持つ基本的なものです。
メソッド内で宣言された変数は、ローカル変数と呼ばれます。この変数の存続期間はメソッド内にあり、メソッドの実行時にはアクセスできません。これらの変数は、宣言されたときにインスタンス化する必要があります。
一方、メソッドの外部で宣言された変数は、インスタンス変数として呼び出されます。これらの変数は、クラスのオブジェクトが作成されるときにアクセス可能になります。変数の寿命は、オブジェクトの寿命に依存します。
最後に、静的変数はインスタンス変数と同じですが、「静的」キーワードを使用します。静的という概念によって、クラスがロードされるときに作成されます。これらは、クラス名またはオブジェクト参照を使用して直接アクセスできます。クラスごとに1セットの静的変数のみが作成されます。しかし、インスタンス変数の場合、オブジェクトを作成するたびに、そのオブジェクトのインスタンス変数のセットが作成されます。
このトピックのオンラインリソースはたくさんありますが、http://www.geeksforgeeks.org/variables-in-java/を参照することをお勧めします。
これは簡単なウェブ検索で簡単に答えられる基本的な質問です。そのタイプの質問はここで話題にはなりません。 –
通常、変数は宣言されているスコープの長さにしか存在しないため、メソッドに定義された変数はメソッドの生存のために*生きています*フィールドは*クラス*が存在する限り –