对于上面这段代码,以下说法正确的是:
public class Test
{
public int x;
public static void main(String []args)
{
System.out.println(“Value is”+x);
}
}
A. 程序回打出 “Value is 0”
B. 程序会抛出 NullPointerException
C. 非静态变量不能够被静态方法引用
D. 编译器会怕抛出“possible reference before assignment”的错误
答案:选C
解析:
非静态成员,只能被类的实例化对象****引用,因此这里在静态方法中****访问x会造成编译出错
主方法是static方法,只能使用static的成员。想使用x,需要开辟对象的空间,new 一个对象,分配一个空间。