Java
 Computer >> コンピューター >  >> プログラミング >> Java

Javaの変数のスコープと存続期間は?


インスタンス変数

クラス内およびすべてのメソッドとブロックの外部で宣言される変数は、インスタンス変数です。インスタンス変数の一般的なスコープは、静的メソッドを除いてクラス全体にあります。インスタンス変数の有効期間は、オブジェクトがメモリにとどまるまでです。

クラス変数

クラス内、すべてのブロック外で宣言され、静的とマークされた変数は、クラス変数と呼ばれます。クラス変数の一般的なスコープはクラス全体であり、クラス変数の存続期間は、プログラムが終了するまで、またはクラスがメモリにロードされている限りです。

ローカル変数

インスタンス変数およびクラス変数ではない他のすべての変数は、メソッド内のパラメーターを含むローカル変数として扱われます。ローカル変数のスコープは、それが宣言されているブロック内にあり、ローカル変数の存続期間は、コントロールが宣言されているブロックを離れるまでです。


  1. Javaの定数と最終変数の違いは?

    Javaで一定 定数変数は、値が固定されており、そのコピーが1つだけプログラムに存在する変数です。定数変数を宣言してそれに値を割り当てると、プログラム全体でその値を再度変更することはできません。 C言語とは異なり、定数はJava(直接)ではサポートされていません。ただし、変数staticおよびfinalを宣言することで、定数を作成できます。 変数staticを宣言すると、コンパイル時にメモリにロードされます。つまり、使用できるのは1つのコピーだけです。 変数finalを宣言すると、その値を再度変更することはできません。 例 class Data {    

  2. Javaのグローバル変数とローカル変数

    ローカル変数は、メソッド、コンストラクター、またはブロックで宣言されます。これらは、メソッド、コンストラクター、またはブロックが入力されたときに作成され、変数がメソッド、コンストラクター、またはブロックを終了すると破棄されます。 アクセス修飾子はローカル変数には使用できません。ローカル変数は、宣言されたメソッド、コンストラクター、またはブロック内でのみ表示されます。これらの変数は、内部でスタックレベルで実装されます。ここで、ローカル変数の例を見てみましょう- 例 public class Demo {    public void Rank() {   &nbs