关于下面的程序Test.java说法正确的是( )
public class Test{
static String x = "1";
static int y = 1;
public static void main(String[] args){
static int z = 2;
System.out.println(x + y + z);
}
}
正确答案是 B.
解析: 被static修饰的变量称为静态变量, 静态变量属于整个类, 而局部变量属于方法, 只在该方法内有效, 所以static 不能修饰局部变量.
static int z = 2; 这一行代码会报错, 因为不能用static修饰.
局部变量, 由于在方法中, 方法中的变量都在栈中, 随着方法的进栈出栈产生和销毁, 所以不可以被static修饰. 一旦被static修饰 变量就属于类了.