靜態方法中不能出現非靜態變量嗎?
在方法內部定義的叫“局部變量”,而不是靜態變量,局部變量不能加static,包括protected, private, public這些也不能加。靜態變量是定義在類中,方法體外面的。 如果你清楚JVM,應該知道局部變量是保存在棧中的,而靜態變量保存于方法區,局部變量出了方法就被棧回收了,而靜態變量不會,所以在局部變量前不能加static關鍵字。
靜態方法中不能出現非靜態變量嗎?
在方法內部定義的叫“局部變量”,而不是靜態變量,局部變量不能加static,包括protected, private, public這些也不能加。靜態變量是定義在類中,方法體外面的。 如果你清楚JVM,應該知道局部變量是保存在棧中的,而靜態變量保存于方法區,局部變量出了方法就被棧回收了,而靜態變量不會,所以在局部變量前不能加static關鍵字。