比如A类里有个static对象a1
B类里有个static对象b2他们是在应用或jvm一启动的时候,对象就生成了?
还是说在使用到这些静态对象(a1,b1)的时候才生成?
还是说第一次使用到A,B类的时候他们才生成?如果是第一种情况的话,a1和a2的生成时间几乎是挨着的
如果是后面两种,这a1和a2的生成时间可能相差很大.求答案.

解决方案 »

  1.   

    public class ab
    {
    private static c cl= new c();

    public static void main( String[] args )
    {
    System.out.println( "main");
    }
    }class c
    { public c()
    {
    System.out.println( "Hello" );
    }
    }
      

  2.   

    JVM加载类的时候,类的类变量(静态变量)生成
      

  3.   

    加载类的时候,就是说把class文件加载到内存的时候
      

  4.   

    还是说在使用到这些静态对象(a1,b1)的时候才生成? 
    还是说第一次使用到A,B类的时候他们才生成? 这两种方法可以说是一种
    因为静态对象的使用是 类名.变量名(方法名)
    所以,类被加载进来了以后,静态变量就产生了
      

  5.   

    当类的二进制码被jvm装载的时候,就在内存中生成了!
      

  6.   

    static 对象 在类加载的时候 生成