static方法是什么时候执行

王朝java/jsp·作者佚名  2006-01-09
窄屏简体版  字體: |||超大  

先说一下static方法的特点吧。

方法被定义为static就表示这个方法不需要声明类的实例即可执行;比如main方法。而某个类成员被定义为static的时候,它就几乎完全独立于这个类了。

根据think in java2 还有java参考大全中所述,static方法在类刚刚被加载的时候就执行了。

因此,可以说,static方法是在对程序进行解释的时候执行。

比如(引自java参考大全)

class UseStatic{

static int a = 3;

static int b;

static void meth(int x)

{

System.out.println("x = " + x);

System.out.println("a = " + a);

System.out.println("b = " + b);

}

static {

System.out.println("Static block initialized.");

b = a*4;

}

public static void main(String[] args)

{

meth(42);

}

}

一旦UseStatic被装载,所有的static语句被执行。首先,a被设置为3,接着static块执行(打印一条消息),最后,b初始化为a*4或12。然后调用main(),main()调用meth(),把42传递给x。3

个println()语句引用两个static变量a和b,以及局部变量x。

如有错误,请指教。

 
 
 
免责声明:本文为网络用户发布,其观点仅代表作者个人观点,与本站无关,本站仅提供信息存储服务。文中陈述内容未经本站证实,其真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。
 
 
© 2005- 王朝網路 版權所有  導航