我基础不好,勿喷我把变量i声明为全局变量的时候可以编译通过public class Test {
        int i; public static void main(String args[]) {
Test t = new Test();
t.method();
}

public void method(){

System.out.println(i);
}
}但是我把i放在方法体里面却说没有初始化,求助!!public class Test {
public static void main(String args[]) {
Test t = new Test();
t.method();
}

public void method(){
int i;
System.out.println(i);
}
}

解决方案 »

  1.   

    说成全局变量感觉好怪或者java有这么个说法吗?我觉得是成员变量
      

  2.   

    上面说的都很好,JAVA中类成员变量是系统自动初始化,int的初始值为0。局部变量需要手动赋初值进行初始化。
      

  3.   

    java中成员变量在对象创建分配内存空间时会自动初始化,而方法中的局部变量就不会,所以要显示声明
      

  4.   

    上面说了那么多,我再补充一句吧!
    类成员变量会初始化为默认值:
    int、short等,初始化为0;
    boolean初始化为false;
    object,初始化为null;