摘要:局部變量定義在方法中的變量。初始值成員變量它存儲在堆中,如果沒有賦初值,它有默認值整數局部變量要想使用必須手動初始化注意事項局部變量名稱可以和成員變量名稱一樣,在方法中使用的時候,采用的是就近原則。
聲明:本文首發于我的個人微信公眾號【Java編程社區】,查看更多文章與學習資源請移步我的公眾號Java編程社區
成員變量:定義在類中的變量。
局部變量:定義在方法中的變量。
成員變量在整個類中有效
局部變量只在其聲明的方法中有效
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,默認值是0 public 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編程社區
文章版權歸作者所有,未經允許請勿轉載,若此文章存在違規行為,您可以聯系管理員刪除。
轉載請注明本文地址:http://specialneedsforspecialkids.com/yun/76952.html
摘要:是完全面向對象的語言,對象具有狀態行為和標識。類一一是具有共同特征和行為的一類事物的統稱。受保護的,對同一包內的類和所有子類可見。一種通用的內存池,用于存放所有對象。類級變量又稱全局級變量或靜態變量,需要使用關鍵字修飾。 java語言的基本特點 java語言是面向對象的高級程序設計語言,它是編譯型的語言,Java語言不使用指針,并提供了自動的垃圾回收機制,使得程序員不必為內存管理而擔...
摘要:結構體也可以包含結構體,就像內部類訪問結構的屬性和一樣。。我覺得這個需要學下數據結構才能更好理解給數據類型起一個新名字則可以通過對于結構體我可以這樣再通過變量名就可以簡便的聲明結構體變量。文件暫時過了一遍預處理器頭文件就是擴展名為的文件。 ...
摘要:但遠不止如此,內部類了解外部類,并能與之通信。內部類還擁有其外圍類的所有元素的訪問權。普通內部類內不能有域和方法。特點普通內部類對象隱式的保存了外部類對象,但嵌套類并非如此。局部內部類可以訪問當前代碼塊內的常量,以及此外圍類的成員。 點擊進入我的博客 可以把一個類的定義放在另一個類的定義內部,這就是內部類。Java最晦澀的部分之一。內部類看起來就像是一種代碼隱藏機制,將類只與其他類的...
摘要:類的成員方法類的成員方法的定義中的使用之靜態變量我們可以基于一個類創建多個該類的對象,每個對象都擁有自己的成員,互相獨立。靜態初始化塊只在類加載時執行,且只會執行一次,同時靜態初始化塊只能給靜態變量賦值,不能初始化普通的成員變量。 java類的學習 先上一個代碼 package bankCard; import java.util.Scanner; // 銀行卡類 public cl...
閱讀 1829·2021-09-22 15:55
閱讀 3521·2021-09-07 10:26
閱讀 628·2019-08-30 15:54
閱讀 684·2019-08-29 16:34
閱讀 839·2019-08-26 14:04
閱讀 3258·2019-08-26 11:47
閱讀 2134·2019-08-26 11:33
閱讀 2294·2019-08-23 15:17