| 導購 | 订阅 | 在线投稿
分享
 
 
 

JAVA中的作用域說明

2009-01-05 11:55:34  編輯來源:互聯網  简体版  手機版  移動版  評論  字體: ||

作用域: 指可訪問變量的一段代碼,在程序中不同的地方聲明的變量具有不同的作用域,例如:局部變量,全局變量等。

局部變量(Local Variable)又叫做自動變量(Automatic Variable)、臨時變量(Temporary Variable)或棧變量(Stack Variable),它是定義在方法或方法裏的程序塊中的變量。局部變量的重要特點是只能被包含它的方法或方法裏的程序塊使用。另外,局部變量在被使用前一定要初始化,否則會帶來錯誤。

和局部變量相應的是全局變量(Global Variable),有兩種,其中一種叫做實例變量(Instance Variable),另一種叫做類變量(Class Variable)。實例變量是定義在類中的變量,可以被類的所有對象使用,所以作用範圍是全局的。另外,實例變量在被使用前不需要初始化,會獲得一個默認值。類變量也是定義在類中的變量,只是多了static關鍵字修飾,它的作用域是類(Class)範圍內。

class Something {

int i;

public void doSomething() {

System.out.println("i = " + i);

}

}

有什麽錯呢? 看不出來啊。

答案: 正確。輸出的是"i = 0"。int i屬於instant variable (實例變量,或叫成員變量)。instant variable有default value。int的default value是0。

很多同學認爲這個題是錯誤的,以爲i如果沒有賦值,那麽它就不能進行操作。在這個題目中,i是實例變量,基本數據類型int的初始值爲0.如果int i;這句話在方法裏面,它就是局部變量,那麽,如果不給它賦初值的話,它就無法運行。

這是一個很基本的問題,大家都很少去關注這些。但是越基本的東西越不容易引起注意,在使用的時候就越容易出錯。大家要引以爲鑒。

作用域: 指可訪問變量的一段代碼,在程序中不同的地方聲明的變量具有不同的作用域,例如:局部變量,全局變量等。   局部變量(Local Variable)又叫做自動變量(Automatic Variable)、臨時變量(Temporary Variable)或棧變量(Stack Variable),它是定義在方法或方法裏的程序塊中的變量。局部變量的重要特點是只能被包含它的方法或方法裏的程序塊使用。另外,局部變量在被使用前一定要初始化,否則會帶來錯誤。   和局部變量相應的是全局變量(Global Variable),有兩種,其中一種叫做實例變量(Instance Variable),另一種叫做類變量(Class Variable)。實例變量是定義在類中的變量,可以被類的所有對象使用,所以作用範圍是全局的。另外,實例變量在被使用前不需要初始化,會獲得一個默認值。類變量也是定義在類中的變量,只是多了static關鍵字修飾,它的作用域是類(Class)範圍內。 class Something { int i; public void doSomething() { System.out.println("i = " + i); } }   有什麽錯呢? 看不出來啊。   答案: 正確。輸出的是"i = 0"。int i屬於instant variable (實例變量,或叫成員變量)。instant variable有default value。int的default value是0。   很多同學認爲這個題是錯誤的,以爲i如果沒有賦值,那麽它就不能進行操作。在這個題目中,i是實例變量,基本數據類型int的初始值爲0.如果int i;這句話在方法裏面,它就是局部變量,那麽,如果不給它賦初值的話,它就無法運行。   這是一個很基本的問題,大家都很少去關注這些。但是越基本的東西越不容易引起注意,在使用的時候就越容易出錯。大家要引以爲鑒。
󰈣󰈤
王朝萬家燈火計劃
期待原創作者加盟
 
 
 
>>返回首頁<<
 
 
 
 
 熱帖排行
 
王朝網路微信公眾號
微信掃碼關註本站公眾號 wangchaonetcn
 
 
靜靜地坐在廢墟上,四周的荒凉一望無際,忽然覺得,淒涼也很美
© 2005- 王朝網路 版權所有