為什么靜態方法不能調用非靜態變量,非靜態方法可以引用靜態變量?
理由很簡單,靜態方法不屬於對象,是屬於類的,是不需要實例化的,而非靜態變量是屬於對象的,需要先實例化。在一個類的靜態成員中去訪問其非靜態成員之所以會出錯是因為在類的非靜態成員不存在的時候類的靜態成員就已經存在了,訪問一個內存中不存在的東西當然會出錯。
相反,非靜態方法是可以引用靜態變量的。
因為靜態變量是存儲在靜態內存單元內,可以直接用類進行調用,也可以用實例化的對象對其引用。所以非靜態方法是可以引用靜態變量的。
只有一種情況下 會定義static方法 就是在一個類中沒有任何成員變量(屬性)的時候,定義static方法