static修饰的静态对象是什么时候生成的?

chinadrencher 2009-08-24 02:07:29
比如A类里有个static对象a1
B类里有个static对象b2

他们是在应用或jvm一启动的时候,对象就生成了?
还是说在使用到这些静态对象(a1,b1)的时候才生成?
还是说第一次使用到A,B类的时候他们才生成?

如果是第一种情况的话,a1和a2的生成时间几乎是挨着的
如果是后面两种,这a1和a2的生成时间可能相差很大.

求答案.
...全文
335 11 打赏 收藏 转发到动态 举报
写回复
用AI写文章
11 条回复
切换为时间正序
请发表友善的回复…
发表回复
oklinsong 2009-08-24
  • 打赏
  • 举报
回复
加载类的时候。
why_java 2009-08-24
  • 打赏
  • 举报
回复
加载的时候
zhuiyunyiye 2009-08-24
  • 打赏
  • 举报
回复
static 对象 在类加载的时候 生成
程序员猪佩琪 2009-08-24
  • 打赏
  • 举报
回复
当类的二进制码被jvm装载的时候,就在内存中生成了!
lovecj6185 2009-08-24
  • 打赏
  • 举报
回复
还是说在使用到这些静态对象(a1,b1)的时候才生成?
还是说第一次使用到A,B类的时候他们才生成?

这两种方法可以说是一种
因为静态对象的使用是 类名.变量名(方法名)
所以,类被加载进来了以后,静态变量就产生了
feishare 2009-08-24
  • 打赏
  • 举报
回复
加载类的时候,就是说把class文件加载到内存的时候
zhuzhusany 2009-08-24
  • 打赏
  • 举报
回复
JVM加载类的时候,类的类变量(静态变量)生成
Kitson 2009-08-24
  • 打赏
  • 举报
回复
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" );
}
}
lcj_up 2009-08-24
  • 打赏
  • 举报
回复
[Quote=引用 2 楼 yidinghe 的回复:]
在加载类的时候。
[/Quote]
捏造的信仰 2009-08-24
  • 打赏
  • 举报
回复
在加载类的时候。
Kitson 2009-08-24
  • 打赏
  • 举报
回复
在应用启动时,生成

62,614

社区成员

发帖
与我相关
我的任务
社区描述
Java 2 Standard Edition
社区管理员
  • Java SE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧