类变量和局部变量

2014-11-24 11:59:53 · 作者: · 浏览: 38
虚拟机种类变量的初始过程有两部,第一步在准备阶段,赋予 系统初始值(即如int型的赋值0等),第二步再初始化阶段赋予程序员所定义的初始值,所以在程序中即使类变量没有被赋予初始值程序也会给予默认值,代码如下:
[java]
public class MTest {
int b;
public void test(){
System.out.println(b);
}
}
[java]
[java]
但是对于局部变量,局部变量不存在类变量的准备阶段,所以如果没有对局部变量赋值就操作的话,就会报编译错误,代码如下:
[java]
public class MucheTest {  
 
int b;
public void test(){
int a;
System.out.println(a);
}
}

此时打印出a的语句是有错误的,说变量没有初始值