JAVA中的作用域說明

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

局部變量(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;這句話在方法裏面,它就是局部變量,那麽,如果不給它賦初值的話,它就無法運行。

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

· 把年齡相仿的獅虎熊放一起,誰更厲害?結果出人意料

很多人都想知道獅子、老虎和熊打起來誰最厲害,于是便有好事之人把這三種動物關在一起...

· 湖北宜昌三峽壩區水面驚現神秘動物

近日,湖北宜昌,一段視頻在當地熱傳:有網友在三峽壩區拍到神秘動物,體型碩大數米長...

· 什麽是語段?語段的類型以及和句群、段落的區別與聯系是什麽?

句群是最高級的語言單位。 段落(自然段)是章法單位...

 
有關于JAVA中的CLASSPATH的作用
CLASSPATH是什麽?它的作用是什麽? 它是javac編譯器的一個環境變量。 它的作用與import、package關鍵字有關。 當你寫下improt java.util.*時,編譯器面對import關鍵字時,就知道你要引入java.util這個pack...查看完整版>>有關于JAVA中的CLASSPATH的作用
 
Java基礎:關于Java編程語言中的內部類說明
提起Java內部類(Inner Class)可能很多人不太熟悉,實際上類似的概念在C++裏也有,那就是嵌套類(Nested Class),關于這兩者的區別與聯系,在下文中會有對比。內部類從表面上看,就是在類中又定義了一個類(下文會...查看完整版>>Java基礎:關于Java編程語言中的內部類說明
 
實例說明Java中的方法重載機制
本文旨在通過一道測試題目分析Java語言中方法重載的機制,幫助讀者更好的把握java語言的基礎知識。 首先我們先看一道測試題目,源代碼如下所示,你覺得程序能否通過編譯呢,假如可以通過編譯輸出的結果會是什麽呢?...查看完整版>>實例說明Java中的方法重載機制
 
Java Servlet API說明文檔
  譯者前言:  近來在整理有關Servlet資料時發現,在網上竟然找不到一份中文的Java Servlet API的說明文檔,而在有一本有關jsp的書後面附的Java Servlet API說明竟然不全,而這份文檔的2.1a版在1998年的11月份就...查看完整版>>Java Servlet API說明文檔
 
Java Servlet API說明文檔
Java Servlet API說明文檔(2.1a版)(一)譯者前言: 近來在整理有關Servlet資料時發現,在網上竟然找不到一份中文的Java Servlet API的說明文檔,而在有一本有關JSP的書後面附的Java Servlet API說明竟然不全...查看完整版>>Java Servlet API說明文檔