java變量類(lèi)型有哪些呢?在Java開(kāi)發(fā)語(yǔ)言中,目前最常見(jiàn)的java變量類(lèi)型有局部變量、實(shí)例變量、類(lèi)變量三種類(lèi)型。小千下面針對(duì)這三種類(lèi)型對(duì)大家進(jìn)行了詳細(xì)介紹,并且列出了一些變量的聲明實(shí)例,注意有些包含了初始化過(guò)程。具體如下:
Java 語(yǔ)言支持的變量類(lèi)型有:
局部變量:類(lèi)的方法中的變量。
實(shí)例變量:獨(dú)立于方法之外的變量,不過(guò)沒(méi)有 static 修飾。
類(lèi)變量:獨(dú)立于方法之外的變量,用 static 修飾。
一、Java局部變量
局部變量聲明在方法、構(gòu)造方法或者語(yǔ)句塊中;
局部變量在方法、構(gòu)造方法、或者語(yǔ)句塊被執(zhí)行的時(shí)候創(chuàng)建,當(dāng)它們執(zhí)行完成后,變量將會(huì)被銷(xiāo)毀;
訪問(wèn)修飾符不能用于局部變量;
局部變量只在聲明它的方法、構(gòu)造方法或者語(yǔ)句塊中可見(jiàn);
局部變量是在棧上分配的。
局部變量沒(méi)有默認(rèn)值,所以局部變量被聲明后,必須經(jīng)過(guò)初始化,才可以使用。
實(shí)例:
在以下實(shí)例中 age 是一個(gè)局部變量。定義在 pupAge() 方法中,它的作用域就限制在這個(gè)方法中。
以上實(shí)例編譯運(yùn)行結(jié)果如下:
二、實(shí)例變量
實(shí)例變量聲明在一個(gè)類(lèi)中,但在方法、構(gòu)造方法和語(yǔ)句塊之外;
當(dāng)一個(gè)對(duì)象被實(shí)例化之后,每個(gè)實(shí)例變量的值就跟著確定;
實(shí)例變量在對(duì)象創(chuàng)建的時(shí)候創(chuàng)建,在對(duì)象被銷(xiāo)毀的時(shí)候銷(xiāo)毀;
實(shí)例變量的值應(yīng)該至少被一個(gè)方法、構(gòu)造方法或者語(yǔ)句塊引用,使得外部能夠通過(guò)這些方式獲取實(shí)例變量信息;
實(shí)例變量可以聲明在使用前或者使用后;
訪問(wèn)修飾符可以修飾實(shí)例變量;
實(shí)例變量對(duì)于類(lèi)中的方法、構(gòu)造方法或者語(yǔ)句塊是可見(jiàn)的。一般情況下應(yīng)該把實(shí)例變量設(shè)為私有。通過(guò)使用訪問(wèn)修飾符可以使實(shí)例變量對(duì)子類(lèi)可見(jiàn);
實(shí)例變量具有默認(rèn)值。數(shù)值型變量的默認(rèn)值是0,布爾型變量的默認(rèn)值是 false,引用類(lèi)型變量的默認(rèn)值是 null。變量的值可以在聲明時(shí)指定,也可以在構(gòu)造方法中指定;
實(shí)例變量可以直接通過(guò)變量名訪問(wèn)。但在靜態(tài)方法以及其他類(lèi)中,就應(yīng)該使用完全限定名:ObejectReference.VariableName。
實(shí)例:
以上實(shí)例編譯運(yùn)行結(jié)果如下:
三、類(lèi)變量(靜態(tài)變量)
類(lèi)變量也稱(chēng)為靜態(tài)變量,在類(lèi)中以 static 關(guān)鍵字聲明,但必須在方法、構(gòu)造方法和語(yǔ)句塊之外。
無(wú)論一個(gè)類(lèi)創(chuàng)建了多少個(gè)對(duì)象,類(lèi)只擁有類(lèi)變量的一份拷貝。
靜態(tài)變量除了被聲明為常量外很少使用。常量是指聲明為 public/private,final 和 static 類(lèi)型的變量。常量初始化后不可改變。
靜態(tài)變量?jī)?chǔ)存在靜態(tài)存儲(chǔ)區(qū)。經(jīng)常被聲明為常量,很少單獨(dú)使用 static 聲明變量。
靜態(tài)變量在程序開(kāi)始時(shí)創(chuàng)建,在程序結(jié)束時(shí)銷(xiāo)毀。
與實(shí)例變量具有相似的可見(jiàn)性。但為了對(duì)類(lèi)的使用者可見(jiàn),大多數(shù)靜態(tài)變量聲明為 public 類(lèi)型。
默認(rèn)值和實(shí)例變量相似。數(shù)值型變量默認(rèn)值是0,布爾型默認(rèn)值是 false,引用類(lèi)型默認(rèn)值是 null。變量的值可以在聲明的時(shí)候指定,也可以在構(gòu)造方法中指定。此外,靜態(tài)變量還可以在靜態(tài)語(yǔ)句塊中初始化。
靜態(tài)變量可以通過(guò):ClassName.VariableName 的方式訪問(wèn)。
類(lèi)變量被聲明為 public static final 類(lèi)型時(shí),類(lèi)變量名稱(chēng)必須使用大寫(xiě)字母。如果靜態(tài)變量不是 public 和 final 類(lèi)型,其命名方式與實(shí)例變量以及局部變量的命名方式一致。
實(shí)例:
以上實(shí)例編譯運(yùn)行結(jié)果如下:
注意:如果其他類(lèi)想要訪問(wèn)該變量,可以這樣訪問(wèn):Employee.DEPARTMENT。
以上是對(duì)java變量類(lèi)型有哪些相關(guān)問(wèn)題的解答,需要注意的是所有的變量在使用前必須聲明,聲明變量的基本格式如下:格式說(shuō)明:type 為 Java 數(shù)據(jù)類(lèi)型。identifier 是變量名,可以使用逗號(hào)隔開(kāi)來(lái)聲明多個(gè)同類(lèi)型變量。更多關(guān)于“Java培訓(xùn)”的問(wèn)題,歡迎咨詢(xún)千鋒教育在線名師。千鋒已有十余年的培訓(xùn)經(jīng)驗(yàn),課程大綱更科學(xué)更專(zhuān)業(yè),有針對(duì)零基礎(chǔ)的就業(yè)班,有針對(duì)想提升技術(shù)的好程序員班,高品質(zhì)課程助理你實(shí)現(xiàn)java程序員夢(mèng)想。