课后作业1

题目要求

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

设计思想

声明一个静态的变量,把它放在类的构造函数中,每次调用执行+1的操作,要查看已经创建了多少个对象时,可以直接用类名调用该静态变量。如果有构造函数的重载,应该在每一个构造函数中都执行该静态变量+1的操作。

代码部分

public class Test {

       static int num=0;//用于统计已经创建对象个数的变量

       int value;//类的其他属性

       public Test(){

              num++;

       }

       public Test(int n)

       {

              value=n;

              num++;

       }

       public static void main(String [] args)

       {

              Test obj1=new Test();

              Test obj2=new Test(3);//调用不同的构造函数进行初始化

              System.out.println("已经创建出对象的个数为:"+Test.num);

       }

}

运行结果:

 


总结归纳

一个类中的静态变量和静态方法为这个类所有的对象所共享,因此无论创建多少个对象,静态的变量或方法只有一个。