012 staticメンバ(staticメソッド) 005 解答例

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つのインスタンスを生成し、生成されたインスタンスの数を出力しています。

「012 staticメンバ」問題集リスト