java中static的作用是什么意思

如题所述

关于Java中的static{}块,通过调试以下两个程序就能弄清楚用途:
1、第一个小程序
package com.babyDuncan.Sohu;
public class testStatic {
static
{
int x = 5;
}
static int x, y;
public static void main(String[] args) {
x--;
myMethod();
System.out.println(x + y + ++x);
}
public static void myMethod()
{
y = x++ + ++x;
}
}
#该程序输出为:3
分析如下:
执行main中的x--之后,x值为-1,执行myMethod之后,x为1,y值为0,执行输出语句表达式,该表达式的值为1+0+2=3,所以输出结果是3。
2、第二个小程序
package com.babyDuncan.Sohu;
public class testStatic2 {
/**
* 关于Static{}块的解释:
* 只是在执行main之前执行的一些语句而已,并不是说里面的变量就是
* static的,没什么特别的。
* 临时变量只在static这个大括号中有用。
**/
static {
int x = 8;
System.out.println("这是static,这有一个变量x="+x);
}
static int x;
public static void main(String[] args) {
// TODO Auto-generated method stub
System.out.println(x);
}
}
#输出结果为:
#这是static,这有一个变量x=8
#0
温馨提示:答案为网友推荐,仅供参考
第1个回答  2016-07-20
静态变量,编译后所分配的内存会一直存在,可以直接调用,
相似回答