3
屬性的工作,我覺得以下將拋出NullPointerException爲什麼一流水平與空
class N {
static int i;
public static void main(String ... args) {
System.out.println(((N)null).i);
}
}
但事實並非如此。爲什麼?
屬性的工作,我覺得以下將拋出NullPointerException爲什麼一流水平與空
class N {
static int i;
public static void main(String ... args) {
System.out.println(((N)null).i);
}
}
但事實並非如此。爲什麼?
因爲i
是靜態(class level)成員。它存在於班級,爲它的每一個對象。所以它確實不需要引用對象,所以這部分((N)null)
實際上被忽略了,除了類型推斷。它可以並且應該被替換爲N.i
。