140
技術社區[雲棲]
Java變量類型
Java的變量在使用前必須聲明,聲明變量的格式如下:
**Java數據類型 變量名1,變量名2...... **
int a,b,c;//聲明了a,b,c三個int類型的變量
a=10;//初始化int變量a
chart d = 20;//聲明類型為char的變量d,並且初始化.
Java中變量分為三類:
類變量、實例變量、局部變量
如下所示:
class Phone{
//類變量
static String TYPR = "iPhone";
//實例變量
String name;
void age(){
//局部變量
Integer age = 10;
}
}
局部變量的定義及使用:
1、局部變聲明早方法、構造器、或者語句塊中;
2、局部變量在其聲明的方法、構造器、語句塊被執行的時候創建,在執行完成後被銷毀;
3、局部變量沒有修飾符;
4、局部變量隻在他聲明的結構內可見,出了該結構則變成非法的變量;
5、局部變量實在棧上分配的;
6、局部變量沒有初始值,必須初始化才可以使用。
class LocalVariable {
public static void main(String[] args) {
method();
}
static void method() {
String type;
String name = "Riven";
System.out.println(name);
//編譯錯誤:Variable 'type' might not have been initialize;
//System.out.println(type);
}
//沒有辦法在離開局部變量生命的構造之外訪問到局部變量;
// name ="Catlinot";
}
實例變量(成員變量)的定義及使用
1、實例變量聲明在一個類中,但是在方法、構造器、語句塊之外;
2、實例變量的值在在對象初始化的時候就確定了.(實例變量相當於你的名字,出生就有,如果你父母來不及取,默認是寶寶)
3、實例變量在對象創建的時候創建,在對象銷毀的時候被銷毀;
4、實例變量可以被一個方法、構造器、語句塊引用,以獲得其內容;
5、實例變量可以聲明在使用前或者使用後;
6、實例變量可以使用訪問修飾符,一般為privte;
7、實例變量具有默認值。數值型變量的默認值是0,布爾型變量的默認值是false,引用類型變量的默認值是null;
8、實例變量可以直接通過變量名訪問。但在靜態方法以及其他類中,就應該使用完全限定名;
class MemberVariable{
//成員變量
private String name;
public String type;
public MemberVariable(String name) {
//在實例化這個對象的時候實例化name
this.name = name;
}
/**
* 返回成員的值
* @return
*/
public String getName(){
return this.name;
}
/**
* 為type賦值
* @param type 賦值內容
*/
public void setType(String type){
this.type = type;
}
/**
* 返回type的值
* @return
*/
public String getType(){
return this.type;
}
/**
* 使用成員變量
*/
void method(){
//使用成員變量
System.out.println(name);
}
public static void main(String[] args) {
MemberVariable riven = new MemberVariable("Riven");
riven.setType("戰士");
String typr = riven.getType();
System.out.println(typr);
riven.method();
}
}
類變量(靜態變量)的定義及使用:
1、類變量就是在實例變量前麵加一個static的修飾符形成的變量;
2、無論類創建多少個對象,類變量都隻有一份,類對象擁有的是該唯一一份類對象的拷貝;
3、類變量除了被聲明為常量外很少使用。
4、產量格式**範文修飾符 static final java類型 常量名 = 常量值**
常量初始化後就不可改變,常量名建議全部大寫,單詞間隔使用“-”分割;
5、類變量在程序就開始時創建,在程序結束時是銷毀;
6、默認值和實例變量相似。數值型變量默認值是0,布爾型默認值是false,引用類型默認值是null。變量的值可以在聲明的時候指定,也可以在構造方法中指定。此外,靜態變量還可以在靜態語句塊中初始化;
7、類變量可以直接通過類名.類變量名來訪問;
class ClassVariable {
//常量
public static final String TYPE = "法師";
//類變量
static String name;
static {
//類變量可以在靜態代碼塊裏麵進行初始化
name = "Fize";
}
void method() {
String type = ClassVariable.TYPE;
System.out.println(type);
//可用通過類名.變量名的方式訪問
String name = ClassVariable.name;
System.out.println(name);
}
public static void main(String[] args) {
ClassVariable cv = new ClassVariable();
cv.method();
}
}```
**在後麵我們會接著討論什麼是靜態代碼塊,以及整個Java類的加載順序.**
最後更新:2017-05-23 15:37:02