类所创建对象个数

Posted 星*月

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了类所创建对象个数相关的知识,希望对你有一定的参考价值。

package text;

public class show 
{
    public static int i=0;
    
    {
        i++;
    }
    show(){}
    public static void many()
    {
        System.out.println("目前已创建对象个数为:"+i);
    }
    
    public static void main(String[] args)
    {
          show a=new show();
          show b=new show();
          show c=b;//运行后答案还是创建了两个对象,说明只是为对象b起了另一个名字
          many();
    }
}

结果:

目前已创建对象个数为:2

多创建1个对象后,得到的答案:

package text;

public class show 
{
    public static int i=0;
    
    {
        i++;
    }
    show(){}
    public static void many()
    {
        System.out.println("目前已创建对象个数为:"+i);
    }
    
    public static void main(String[] args)
    {
          show a=new show();
          show b=new show();
          show d=new show();
          show c=b;//运行后答案还是创建了两个对象,说明只是为对象b起了另一个名字
          many();
    }
}

结果:

目前已创建对象个数为:3

 

总结:

每次创建对象时,都会调用构造函数,而在调用构造函数之前,必会先运行非静态初始化块,所以可以通过非静态初始化块中的变量+1达到跟踪创建对象个数的目标。

 

以上是关于类所创建对象个数的主要内容,如果未能解决你的问题,请参考以下文章

使用类的静态字段和构造函数,跟踪某个类所创建对象的个数。

跟踪某个类所创建对象的个数

踪某个类所创建对象的个数

使用类的静态字段和构造函数,我们可以跟踪某个类所创建对象的个数。请写一个类,在任何时候都可以向它查询“你已经创建了多少个对象?”。

用类的静态字段和构造函数我们可以跟踪某个类所创建对象的个数。 在任何时候都可以向它查询“你已经创建了多少个对象?

使用类的静态字段和构造函数,可以跟踪某个类所创建对象的个数