Java メンバー変数とローカル変数

Javaのメンバー変数とローカル変数についてです。

用語

項目 説明
メンバー変数 クラスのブロック内にある変数です。フィールドフィールド変数とも呼ばれます。
ブロック 「{」(波括弧) から「}」までをブロックと言います。
ローカル変数 メソッド内の変数です。スコープはメソッド内のみです。メソッドを抜けると値はメモリ上から消去されます。
インスタンス変数 インスタンスごとに確保される変数です。
メンバー クラスのブロックに含まれる要素のことをメンバーと言います。メンバー変数、メソッド、コンストラクタ等があります。

メンバー変数で使用できる主な修飾子

項目 説明
public すべてのクラスからアクセス可能
protected 同じパッケージのクラスからアクセス可能
現在のクラスの異なるパッケージのサブクラスからアクセス可能
修飾子なし 同じパッケージのクラスからアクセス可能
private 現在のクラスからアクセス可能
static クラスフィールド
final 再代入を禁止

コード

サンプルのコードです。
6行目は、メンバー変数(フィールド、フィールド変数)です。また、29行目でSample1クラスをインスタンス化しているのでインスタンス変数です。
19行目は、ローカル変数です。ローカル変数のスコープはメソッド内のみです。メソッドを抜けると値はメモリから失われます。
25行目は、定数です。再代入(変更)が禁止されます。

package test1;
 
class Sample1 {
	// メンバー変数、フィールド、フィールド変数
	// インスタンスごとに確保される変数  インスタンス変数
	private int testNum1;
 
	//コンストラクタ
	//インスタンスを生成するときに自動で呼び出される
	//クラスと同じ名前を使用する
	Sample1(int p) {
		testNum1 = p;
	}
 
	// メソッド
	public int getNum() {
		//ローカル変数
		//ローカル変数のスコープはメソッド内のみ。メソッドを抜けると失われる。
		int testNum2 = 2;
		return (testNum1 + testNum2);
	}
}
public class Test1 {
	// 定数 再代入を禁止
	public static final int NUM = 1;
 
	public static void main(String[] args) {
		// インスタンス化
		Sample1 sk = new Sample1(NUM);
		// ドット演算子(.)でアクセス可能
		System.out.println(sk.getNum()); // 3
	}
}

関連の記事

Java クラスのサンプル
Java コンストラクタのサンプル
Java クラス型の型変換とキャストのサンプル
Java instanceof演算子のサンプル
Java thisのサンプル
Java インターフェースのサンプル
Java abstract修飾子のサンプル
Java シングルトンのサンプル
Java ポリモフィズムのサンプル
Java staticメソッドとstatic変数のサンプル



△上に戻る