类所创建对象个数
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达到跟踪创建对象个数的目标。
以上是关于类所创建对象个数的主要内容,如果未能解决你的问题,请参考以下文章
使用类的静态字段和构造函数,我们可以跟踪某个类所创建对象的个数。请写一个类,在任何时候都可以向它查询“你已经创建了多少个对象?”。