Hvor kommer statiske medlemmer bor om ikke på Heap?

stemmer
-1

Hvorfor er ikke en NullPointerException kastes dersom forekomst av Statikk klassen er satt til null? Jeg forstår at en statisk variabel deles blant alle instanser og deres er bare en kopi. Betyr dette at statiske variabler ikke bor på haugen? Vel jeg antar det er hva det innebærer?

Så jeg antar det store spørsmålet er hvor bor statiske variabler / metoder?

Vurder følgende:

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.
}
}

Hvis de ikke bor på haugen, jeg gjetter de ikke får søppel samles?

Publisert på 21/08/2015 klokken 15:22
kilden bruker
På andre språk...                            


1 svar

stemmer
1

Det er ingen vits i haug, minne, GC i det hele tatt ..

Poenget er statiske medlemmer tilhører klassen snarere enn f.eks. Så Java trenger bare å vite det type om forekomsten er null

Svarte 21/08/2015 kl. 15:24
kilden bruker

Cookies help us deliver our services. By using our services, you agree to our use of cookies. Learn more