天天看點

變量的作用域,初始化

變量的作用域 1.類的成員變量:作用于整個類 靜态變量:位于方法區,被所有執行個體共享,生命周期與類相同,可通過類名通路,也可通過引用變量來通路 執行個體變量:位于堆中,他的生命周期取決于執行個體的生命周期

2.局部變量:位于棧中,作用于方法内部,生命周期取決于所屬的方法何時被調用與銷毀 局部變量不能被static private protected public修飾 局部變量要先定義後使用,否則編譯報錯 寫代碼時應将局部變量的作用域最小化

隻有在構造方法,執行個體方法中才能使用This關鍵字,在靜态方法,代碼塊中不能使用

變量初始化 1.對于類變量(成員變量),jvm會初始化為預設值(即可以隻聲明,而不指派,編譯不報錯) 2.對于局部變量,必須進行顯式初始化指派,才能使用,否則編譯報錯

運作時資料區:  堆區——存放對象的指向方法區的引用  方法區——存放類的類型資訊、類型資訊包括靜态變量和方法資訊,而方法資訊中包含類的所有方法的位元組碼。  棧區——局部變量(指向堆區),main方法的調用  例如:Doll beibei = new Doll("貝貝");  其中beibei在棧區,指向一個名字為“貝貝”的Doll執行個體(在堆區),而Doll執行個體含有的方法則指向方法區。