日期:2014-05-20  浏览次数:20738 次

【新手求助】关于变量初始化的问题
我基础不好,勿喷

我把变量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有这么个说法吗?我觉得是成员变量
------解决方案--------------------
上面说的都很好,JAVA中类成员变量是系统自动初始化,int的初始值为0。局部变量需要手动赋初值进行初始化。
------解决方案--------------------
又学了一个新知道
------解决方案--------------------
java中成员变量在对象创建分配内存空间时会自动初始化,而方法中的局部变量就不会,所以要显示声明
------解决方案--------------------
引用:
我基础不好,勿喷

我把变量i声明为全局变量的时候可以编译通过
Java code?12345678910111213public class Test {        int i;     public static void main(String args[]) {        Test t = new Test();        t.method();……

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