java中的static{}块的实例详解
java中的static{}块的实例详解
一直以来对static块不是很熟系,今天特意写了两个程序来搞清楚一下:
第一个小程序:
packagecom.babyDuncan.Sohu;
publicclasstestStatic{
static
{
intx=5;
}
staticintx,y;
publicstaticvoidmain(String[]args){
x--;
myMethod();
System.out.println(x+y+++x);
}
publicstaticvoidmyMethod()
{
y=x+++++x;
}
}
该程序输出为:3
分析如下:
执行main中的x--之后,x值为-1,执行myMethod之后,x为1,y值为0,执行输出语句表达式,该表达式的值为1+0+2=3,所以输出结果是3.
下一个程序会让你更明白其中的道理:
packagecom.babyDuncan.Sohu;
publicclasstestStatic2{
/**
*关于Static{}块的解释:
*只是在执行main之前执行的一些语句而已,并不是说里面的变量就是
*static的,没什么特别的。
*临时变量只在static这个大括号中有用。
**/
static{
intx=8;
System.out.println("我是static,我有一个变量x="+x);
}
staticintx;
publicstaticvoidmain(String[]args){
//TODOAuto-generatedmethodstub
System.out.println(x);
}
}
输出结果为:
我是static,我有一个变量x=8 0
以上就是javastatic块的使用方法,如有疑问请留言或者到本站社区交流讨论,感谢阅读,希望能帮助到大家,谢谢大家对本站的支持!