靜態方法爲什麼不能使用非靜態成員變量

      " 靜態方法中只能使用靜態成員,而不能使用非靜態成員。非靜態方法中既能使用靜態成員,也能使用非靜態成員",搞Java的應該都知道這兩句話,但是爲什麼呢? 
      今天同學突然問我這個問題,我也一愣,一直認爲就是這樣的,但是對細節卻不甚瞭解。後來想了想,然後我對他說:

“靜態方法和靜態屬性,是在你第一次使用這個類的時候加載到內存中,並且以後都不會消失(理論上),除非程序關掉。而非靜態成員必須存在於一個實例化的對象中。也就是必須new一個對象分配到堆中後它才存在。你在沒有new對象之前它都不存在,你怎麼去訪問它?”反過來應該都懂得。。。。。。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章