C語言中文網 目錄

Java變量的作用域

變量的作用域規定了變量所能使用的范圍,只有在作用域范圍內變量才能被使用。根據變量聲明地點的不同,變量的作用域也不同。

根據作用域的不同,一般將變量分為不同的類型:類變量、局部變量、方法參數變量及異常處理參數變量。下面對這幾種變量進行詳細說明。

類變量

類變量也稱為成員變量,聲明在類中,不屬于任何一個方法,作用域是整個類。

例 1

假設在一個類中聲明了 3 個變量,下面編寫一個測試類輸出引起變量的值改變的示例代碼。

變量聲明代碼如下所示:
public class DataClass
{
    int price=100;    //定義類變量 price
    price String name;    //定義類變量 name
    name int num;    //定義類變量 num
}

測試類代碼如下所示:
public class Test
{
    public static void main(String[] args)
    {
        DataClass dc=new DataCLass();
        System.out.println("name="+dc.name);
        System.out.println("num="+dc.num);
        System.out.println("price="+dc.price);
    }
}

運行效果如下所示:
name=null
num=0
price=100

在本例的第一段代碼中定義了 3 個成員變量,并對其中第一個變量 price 進行了初始化,而第二個 name 變量和第三個變量 num 沒有進行初始化。由輸出結果可以看出,第一個變量的值為顯示初始化的值,第二個和第三個變量的值則為系統默認初始化的值。

局部變量

局部變量是指在方法或者方法代碼塊中定義的變量,其作用域是其所在的代碼塊。

例 2

聲明兩個局部變量并輸出其值,其實現代碼如下:
public class Test2
{
    public static void main(String[] args)
    {
        int a=7;
        if(5>3)
        {
            int s=3;    //聲明一個int類型的局部變量
            System.out.println("s="+s);
            System.out.println("a="+a);
        }
        System.out.println("a="+a);
    }
}

上述實例中定義了 a 和 s 兩個局部變星,其中 int 類型的 a 的作用域是整個 main() 方法,而 int 類型的變量 s 的作用域是 if 語句的代碼塊內,其執行結果如下:
s=3
a=7
a=7

方法參數變量

作為方法參數聲明的變量的作用域是整個方法。

例 3

聲明一個方法參數變量,實現代碼如下:
public class Test3
{
    public static void testFun(int n)
    {
        System.out.println("n="+n);
    }
    public static void main(String[] args)
    {
        testFun(B);
    }
}

在上述實例中定義了一個 testFun() 方法,該方法中包含一個 int 類型的參數變量 n,其作用域是 testFun() 方法體內。當調用方法時傳遞進了一個參數 3,因此其輸出控制臺的 n 值是 3。

異常處理參數變量

異常處理參數變量的作用域是在異常處理塊中,該變量是將異常處理參數傳遞給異常處理塊,與方法參數變量類似。

例 4

聲明一個異常處理語句,實現代碼如下:
public class Test4
{
    public static void test()
    {
        try
        {
            System.out.println("Hello!Exception!");
        }
        catch(Exception e)
        {   //異常處理塊,參數為 Exception 類型
            e.printStackTrace();
        }
    }
    public static void main(String[] args)
    {
        test();
    }
}

在上述實例中定義了異常處理語句,異常處理塊 catch 的參數為 Exception 類型的變量 e,作用域是整個 catch 塊。

精美而實用的網站,提供C語言、C++、STL、Linux、Shell、Java、Go語言等教程,以及socket、GCC、vi、Swing、設計模式、JSP等專題。

Copyright ?2011-2018 biancheng.net, 陜ICP備15000209號

底部Logo
极速pk10开户