1. 程式人生 > >java 類變數, 例項變數,區域性變數的區別

java 類變數, 例項變數,區域性變數的區別

Java語言支援的變數型別有:

  • 類變數:獨立於方法之外的變數,用 static 修飾。
  • 例項變數:獨立於方法之外的變數,不過沒有 static 修飾。
  • 區域性變數:類的方法中的變數。
變數 定義位置 初始化值 生命週期 作用範圍 記憶體位置
類變數 類中方法外以static關鍵字宣告 有預設的初始化的值 第一次訪問時建立,在程式結束時銷燬 整個類中有效 靜態儲存區
例項變數 類中方法外 有預設的初始化的值 物件的存在而存在,隨著物件的消失而消失 整個類中有效 堆記憶體
區域性變數 方法內 不賦值不能用 方法的呼叫而存在,方法呼叫完畢而消失 所在方法有用 棧記憶體

詳細程式碼以後補充

變數的使用順序

Created with Raphaël 2.1.2區域性區域性本類本類父類父類嘿,'本類', 有我要的變數沒?嘿,'父類', 有我要的變數沒?沒有編譯錯誤,有返回引用

變數的載入順序

Created with Raphaël 2.1.2靜態程式碼塊靜態程式碼塊構造方法構造方法靜態方法靜態方法呼叫才會執行只加載一次建立一個例項就載入一次