-1
如果將Statics類的實例設置爲null,爲什麼不引發NullPointerException?我知道一個靜態變量是在所有實例中共享的,它們只有一個副本。這是否意味着靜態變量不會生活在堆上?那麼我猜這就是它意味着什麼?如果靜態成員不在堆上,那麼靜態成員在哪裏?
所以我想更大的問題是靜態變量/方法在哪裏生活?
考慮以下幾點:
public class Statics {
public static int count = 0;
public static void main(String[] args){
System.out.println(Statics.count);
}
}
public class StaticsTest {
public static void main(String[] args){
Statics t1 = new Statics();
t1 = null;
System.out.println(t1.count); //Output of zero was printed which I didn't expect.
}
}
如果他們不住在堆上,我猜他們沒有得到垃圾回收?
注意計數是靜態的。 – Emd4600