Java学习笔记——局部变量和成员变量
聲明:本文首發于我的個人微信公眾號【Java編程社區】,查看更多文章與學習資源請移步我的公眾號Java編程社區
成員變量:定義在類中的變量。
局部變量:定義在方法中的變量。
成員變量與局部變量的區別:
1、應用范圍
成員變量在整個類中有效
局部變量只在其聲明的方法中有效
2、生命周期
成員變量:它屬于對象,它隨著對象的創建而創建,隨著對象的消失而消失
局部變量:使用完馬上釋放空間
看段代碼
void show(int id){for (int i = 0; i < 10; i++) { for (int j = 0; j < 10; j++) {System.out.println(id);}}}這里的id,i,j都是在方法內聲明的,因此都是局部變量
id在show方法被調用時它的生命周期開始,方法結束時id消失
j當里層for循環執行時生命周期開始,當里層for結束,j消失
3、存儲位置
成員變量屬于對象,它存儲在堆內,堆內的實體,當沒有引用指向其時,才被垃圾回收處理。
局部變量存在于棧內存中,當不在使用時,馬上就會被釋放。
4、初始值
成員變量它存儲在堆中,如果沒有賦初值,它有默認值
整數byte,short,int,long = 0
char = ‘\u0000’
boolean = false
String = null
float,double = 0.0
局部變量要想使用必須手動初始化
注意事項:
局部變量名稱可以和成員變量名稱一樣,在方法中使用的時候,采用的是就近原則。
內存分析
class Car {//汽車應該具備的屬性String color;//汽車具備的顏色int num; //汽車跑的行為public void run(){System.out.println(color + "的車,輪胎數: " + num + "個,跑起來了");} }public class CarDemo {public static void main(String[] args) {//創建實體Car car = new Car();car.color = "red";car.num = 4; //指揮車運行,調用格式:對象.對象成員car.run();} }
這里car其實是對象的引用,它存儲的是一地址,這個地址指向了堆里的一塊內存。這里的color和num都是成員變量,null和0是它們的默認值,”red”和4是賦給它們的初始值。
最后再來看個例子
class Variable {int a; //成員變量a,默認值是0public void test() {int b = 20;//局部變量b,沒有默認值,需要初始化System.out.println(b);//20 int a = 50;//局部變量a,和成員變量a的名稱相同System.out.println(a);//50} } class VariableDemo {public static void main(String[] args) {Variable variable = new Variable();System.out.println(variable.a); //0,variable.a訪問成員變量variable.test();//調用成員方法 } }代碼執行結果:
今天就分享到這,后續會繼續分享,敬請期待!
聲明:本文首發于我的個人微信公眾號【Java編程社區】,查看更多文章與學習資源請移步我的公眾號Java編程社區
總結
以上是生活随笔為你收集整理的Java学习笔记——局部变量和成员变量的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Java学习笔记——面向对象
- 下一篇: Java学习笔记——封装