一、在類中的位置不一樣html
成員變量:在類中方法外面htm
局部變量:在方法或者代碼塊中,或者方法的聲明上(即在參數列表中)對象
二、做用域不一樣blog
成員變量:整個類中生命週期
局部變量:僅限於定義它的方法內存
三、在內存中的位置不一樣,能夠看看Java程序內存的簡單分析作用域
成員變量:在堆中(方法區中的靜態區)get
局部變量:在棧中編譯器
四、初始值it
成員變量:有默認初始值
局部變量:沒有默認初始值,使用以前須要賦值,不然編譯器會報錯(The local variable xxx may not have been initialized)
五、局部變量優先級高於成員變量
當變量重名時,優先調用局部變量
六、生命週期不一樣
成員變量:隨着對象的建立而存在,隨着對象的消失而消失
局部變量:隨着方法的調用或者代碼塊的執行而存在,隨着方法的調用完畢或者代碼塊的執行完畢而消失