我是java的新手,我正在尝试理解JVM的工作顺序。我有以下查询。
1)可以在运行时加载一个类。
2)静态变量可以在运行时分配内存。
3)为什么静态变量不能在java中的函数内定义?
如果你可以借助下面给出的例子解释我,可能是这样的:
public class Test{
public static void main(String[] args)throws IOException {
static int d;
}
}
在这个例子中,静态被写入一个会产生错误的方法中。如果你能用上面的语境解释这个,那将会很有帮助。
答案 0 :(得分:1)
简单回答
细节
您也可以使用新值/内存在代码中重新分配最终的静态变量,例如:
static String a = "a"; // default value to be used by JVM during init
public static void main(String[] args)
{
System.out.println(a); // will print a, as JVM already initialized it with "a"
a = "b"; // we've changed value
System.out.println(a); // now will print b
}
但你不能在函数内部定义静态变量,可以在c / c ++中,但不能在java中