定义了一个类,在主方法中new了多个对象(如5个),怎么来记录所创建的对象的个数?难道可以直接在类对象后面用一个变量来自增吗?或用一个方法来实现?
学了java一段时间了,有些小问题居然搞不懂,请赐教。

解决方案 »

  1.   

    public class A {
        private static int count = 0;}
      

  2.   

    public class A {
        private static int count = 0;
        public A() {
            count++;
        }
        public static int getObjectNumber() {
            return count;
        }
    }
      

  3.   

    class B
    { //次方法中要用到count的值,该如何呢?}
    public class A 
    {
        private static int count = 0;//用count来记录B对象的个数
        B a=new B();
        B b=new B();
        B c=new B();
    }
      

  4.   

    //能不能具体点
    class B
    { //此方法中要用到count的值,该如何来做呢?}
    public class A 
    {
        private static int count = 0;//用count来记录B对象的个数
        B a=new B();
        B b=new B();
        B c=new B();
    }
      

  5.   

    package temp;import java.lang.String;
    import java.io.*;public class Test {
    private static int i = 0; public Test() {
    i++;
    } public static int getNum() {
    return i;
    }}class Other {
    public static void main(String[] args) {
    Test t = new Test();
    Test t1 = new Test();
    Test t2 = new Test();
    Test t3 = new Test();
    Test t4 = new Test();
    Test t5 = new Test();
    Test t6 = new Test();
    Test t7 = new Test();
    System.out.println("一共创建了" + Test.getNum() + "个对象");
    }
    }
    运行结果:
    一共创建了8个对象不过这样实现有peacedog()说的问题
      

  6.   

    Areslp(努力ING)  你这个程序写的有点看着不舒服,不过能运行正确。main()方法不是在主类中定义吗??        还有包 package temp是系统自带的还是自己写的?
      

  7.   

    这个问题还是有点难度,上边的方法都不好.因为jvm gc 后,上边的数字就不正确了.好的方法我也不知道,不过有第三放的开源软件有这个功能的.特别是一些内存检测软件.
    你感兴趣可以找来看看代码.
      

  8.   

    package temp是我写这个测试类的时候建的包,至于main函数,只要是类里面都可以定义啊,为什么要主类里?
      

  9.   

    iambic() ( ) 信誉:100    Blog 
    public class A {
        private static int count = 0;
        public A() {
            count++;
        }
        public static int getObjectNumber() {
            return count;
        }
    }
    这个办法好啊~~
    peacedog() ( ) 信誉:100    Blog 
    其实这个办法不够完全,当一个对象不再使用的时候,应该减去对象的引用数,从目前这个实现来看,对象的引用数只有增加而没有减少。
    可以为对象定义finalize方法~~
    在次方法中实现count--;
      

  10.   

    可以有2种方法:1.定义一个静态变量啊,private static int number;
      在类的构造方法里让改变量自增: number++;
      在类里提供一个可以获取 number的方发用来获取number的值2.还有一种方法,就是在生成对象的时候,使用数组或者链表啊容器啊一类的数据结构来进行管理。
    比如你定义的类是A ,你可以定义一个数组 A a = new A[5]。
      

  11.   

    我是一个初学者,但是我看了“joy_cz()”说的调用FINALIZE方法来实现count--,可行性比较强,虽然我还没学到那