类所创建对象个数

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达到跟踪创建对象个数的目标。

 

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