【发布时间】:2013-10-26 22:26:20
【问题描述】:
请看下面的代码。方法 printTest() 正在打印未初始化变量的默认值,但是当涉及到 main 方法时,java 要求进行变量初始化。谁能解释一下为什么?
public class Test1 {
public static void main(String[] args) {
int j;
String t;
System.out.println(j);
System.out.println(t);
}
}
public class Test2 {
int i;
String test;
public static void main(String[] args) {
new Test().printTest();
}
void printTest() {
System.out.println(i);
System.out.println(test);
}
}
【问题讨论】:
-
在java中你需要在使用它们之前初始化变量
-
是的,我同意。请查看代码和我的问题
-
您希望发生什么?
-
现在我将代码分开以便更好地理解。
-
全局/类变量(Test2 中的变量 i)将被分配一个默认值。但是对于局部变量(Test2 类中的变量 j)我们需要分配一个初始值。
标签: java types scope type-conversion