public class InstanceCounter {
// static変数 - 生成されたインスタンスの数を保持
private static int instanceCount = 0;
// インスタンス変数 - 各インスタンスが持つ値(この問題では使用しない)
private int value;
// コンストラクタ - インスタンスが生成されるたびにインスタンスカウントをインクリメント
public InstanceCounter() {
instanceCount++;
}
// staticメソッド - 生成されたインスタンスの数を取得する
public static int getInstanceCount() {
return instanceCount;
}
public static void main(String[] args) {
// テスト
InstanceCounter instance1 = new InstanceCounter();
InstanceCounter instance2 = new InstanceCounter();
InstanceCounter instance3 = new InstanceCounter();
// staticメソッドを使用して生成されたインスタンスの数を取得
System.out.println("Number of instances created: " + InstanceCounter.getInstanceCount());
}
}
この解答例では、InstanceCounter
クラスが生成されるたびにstatic変数
であるinstanceCount
がインクリメントされます。getInstanceCount
メソッドを通じて、生成されたインスタンスの数を取得することができます。main
メソッドでは、3つのインスタンスを生成し、生成されたインスタンスの数を出力しています。