Java のプライベート静的変数
Aryan Tyagi
2023年10月12日
一般に静的変数として知られるクラス変数は、クラス内で static
キーワードを使用して定義されますが、メソッド、コンストラクター(デフォルトまたはパラメーター化)、またはブロックの外部にあります。
プライベート静的変数は、定数に頻繁に使用されます。たとえば、多くの人はコードで定数を使用しないことを好みます。代わりに、意味のある名前でプライベート静的変数を作成し、それをコードで利用して、コードをより理解しやすくすることを好みます。
変数が静的であると宣言されている場合、変数の値はすべてのインスタンスで同じであり、その変数を呼び出すためにオブジェクトを作成する必要はありません。
private static として宣言された変数には簡単にアクセスできますが、それが定義および宣言されているクラスの内部からのみアクセスできます。これは、変数がプライベートとして宣言されており、クラスの外部からプライベート変数にアクセスできないためです。クラス内では、ClassName.Variable_name
を使用してアクセスできます。
例えば、
public class Demo {
private static int a = 10;
public static void main(String[] args) {
System.out.println(Demo.a); // className.variable_name
}
}
出力:
10
上記の例では、静的プライベート変数を作成し、その値を出力しました。
例を理解して、プライベート静的変数とプライベート静的変数の違いを見てみましょう。
public class test {
private static int eye = 2;
private int leg = 3;
public test(int eyes, int legs) {
eye = eyes;
leg = leg;
}
public test() {}
public void print() {
System.out.println(eye);
System.out.println(leg);
}
public static void main(String[] args) {
test PersonB = new test(14, 8);
PersonB.print();
}
}
出力:
14
3
PersonB
オブジェクトは上記の例の eye
変数を変更しますが、leg
変数は同じままです。これは、プライベート変数がそれ自体をメソッドにコピーし、元の値を保持するためです。ただし、プライベート静的値には、すべてのメソッドが共有するコピーが 1つしかないため、その値を変更すると元の値が変更されます。