首页 > 解决方案 > 获取具有与整数相同的构造函数的所有对象?

问题描述

我得到了以下课程:

public class Possibility {


    private String name;

    public Possibility(String name) {
        this.name = name;

    }

    public String getName() {
        return name;
    }

    public void setName(String name) {
        this.name = name;
    }

如果我现在有许多扩展“可能性”的类,我如何才能找到扩展可能性的类的实例数?

标签: javaconstructor

解决方案


您可以将静态字段用作 Possibility 类中的计数器,并在创建对象时使用它来递增。这比使用反射更有效和安全。

package so;

public class Possibility {
    private static int counter = 0;

    private String name;

    public Possibility(String name) {
        counter += 1;
        this.name = name;

    }

    public String getName() {
        return name;
    }

    public void setName(String name) {
        this.name = name;
    }

    public static void main(String[] args) {
        Possibility1 p1 = new Possibility1("p1");
        Possibility2 p2 = new Possibility2("p2");

        System.out.println(Possibility.counter);
    }
}

可能性1

package so;

public class Possibility1 extends Possibility {
    public Possibility1(String name) {
        super(name);
    }
}

可能性2:

package so;

public class Possibility2 extends Possibility {
    public Possibility2(String name) {
        super(name);
    }
}

可能性3

package so;

public class Possibility3 extends Possibility {
    public Possibility3(String name) {
        super(name);
    }
}

推荐阅读