类中有一个静态成员变量(数组),此类中的某类方法a已经对其进行初始化和赋值。在main方法中先调用类方法a,再调用这个数组的时候却提示空指针异常。求解释。
代码如下:
class Ts{
public static int a[];
public static void Inita(){
int a[]=new int[3];
a[0]=1;
a[1]=2;
a[2]=3;
}
public static void main(String args[]){
Inita();
System.out.println(a[2]);
}
}
提示运行时异常:空指针异常。
需要加this关键字是吗?
追答int a[]=new int[3];
把这一句改成 a[]=new int[3];就ok了
可是这样会编译错误
追答讲错了,应该是改成a =new int[3];
追问编译运行均通过……能否讲一下为什么不加方括号?
追答因为这个是赋值,左边必须是变量名,加方括号就不对啦。、
需要加this关键字是吗?
追答对,加this就都是在操作静态变量了