【新手求助】关于变量初始化的问题
我基础不好,勿喷
我把变量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中成员变量在对象创建分配内存空间时会自动初始化,而方法中的局部变量就不会,所以要显示声明
------解决方案--------------------
上面说了那么多,我再补充一句吧!
类成员变量会初始化为默认值:
int、short等,初始化为0;
boolean初始化为false;
object,初始化为null;