これは私が定義したジェネリック クラスです。私が知りたいのは、より具体的なクラス (CAR クラスなど) を作成するとき、いつクラス変数を使用するのかということです。クラス変数に関する私の個人的な理解は、クラスで宣言されたクラス変数の単一のコピーが static キーワードを使用して宣言され、クラスからインスタンス化された各オブジェクトにはクラスの単一のコピーが含まれることです。変数。
インスタンス変数を使用すると、クラスから作成されたクラス/オブジェクトの各インスタンスが、オブジェクトごとにインスタンス変数の個別のコピーを持つことができますか?
したがって、インスタンス変数はクラス/データ型のプロパティを定義するのに役立ちます。たとえば、House には場所がありますが、House オブジェクトでクラス変数を使用するのはいつでしょうか? 言い換えれば、クラスを設計する際のクラス オブジェクトの正しい使用法は何ですか?
public class InstanceVaribale {
public int id; //Instance Variable: each object of this class will have a seperate copy of this variable that will exist during the life cycle of the object.
static int count = 0; //Class Variable: each object of this class will contain a single copy of this variable which has the same value unless mutated during the lifecycle of the objects.
InstanceVaribale() {
count++;
}
public static void main(String[] args) {
InstanceVaribale A = new InstanceVaribale();
System.out.println(A.count);
InstanceVaribale B = new InstanceVaribale();
System.out.println(B.count);
System.out.println(A.id);
System.out.println(A.count);
System.out.println(B.id);
System.out.println(B.count);
InstanceVaribale C = new InstanceVaribale();
System.out.println(C.count);
}
}