轉自:
http://java265.com/JavaCourse/202111/1728.html
下文筆者講述java中成員變數,區域變數,靜態變數的不同之處,如下所示:
| 成員變數 | 區域變數 | 靜態變數 | |
| 定義位置 | 類中,方法外 | 方法中,方法的形參 | 類中,方法外 |
| 初始化值 | 默認初始化值 | 無,先定義,賦值后使用 | 默認初始化值 |
| 呼叫方式 | 物件呼叫 | 類名呼叫 | |
| 存盤位置 | 堆中 | 堆疊中 | 方法區 |
| 生命周期 | 同物件共存亡 | 同方法共存亡 | 同類共存亡 |
| 別名 | 實體變數 | 類變數 |
成員變數和區域變數的區別
成員變數
- 成員變數定義在類中,在整個類中都可以被訪問
- 成員變數隨著物件的建立而建立,隨著物件的消失而消失,存在于物件所在的堆記憶體中
- 成員變數有默認初始化值
區域變數
- 區域變數只定義在區域范圍內,如:函式內,陳述句內等,只在所屬的區域有效
- 區域變數存在于堆疊記憶體中,作用的范圍結束,變數空間會自動釋放
- 區域變數沒有默認初始化值
成員變數和靜態變數的區別
- 兩個變數的生命周期不同
成員變數隨著物件的創建而存在,隨著物件被回收而釋放
靜態變數隨著類的加載而存在,隨著類的消失而消失 - 呼叫方式不同
成員變數只能被物件呼叫
靜態變數可以被物件呼叫,還可以被類名呼叫 - 別名不同
成員變數也稱為實體變數
靜態變數也稱為類變數 - 資料存盤位置不同
成員變數存盤在堆記憶體的物件中,所以也叫物件的特有資料
靜態變數資料存盤在方法區(共享資料區)的靜態區,所以也叫物件的共享資料
轉載請註明出處,本文鏈接:https://www.uj5u.com/houduan/526773.html
標籤:Java
上一篇:gin框架中如何實作流式下載
