C語言中文網 目錄

Java內部類:Java局部內部類

局部內部類是指在一個方法中定義的內部類。示例代碼如下:
public class Test
{
    public void method()
    {
        class Inner
        {
            //局部內部類
        }
    }
}

局部內部類有如下特點。

(1) 局部內部類與局部變量一樣,不能使用訪問控制修飾符(public、private 和 protected)和 static 修飾符修飾。

(2) 局部內部類只在當前方法中有效。
public class Test
{
    Inner i=new Inner();    //編譯出錯
    Test.Inner ti=new Test.Inner();    //編譯出錯
    Test.Inner ti2=new Test().new Inner();    //編譯出錯
    public void method()
    {
        class Inner{}
        Inner i=new Inner();
    }
}

(3) 局部內部類中不能定義 static 成員。

(4) 局部內部類中還可以包含內部類,但是這些內部類也不能使用訪問控制修飾符(public、 private 和 protected)和 static 修飾符修飾。

(5) 在局部內部類中可以訪問外部類的所有成員。

(6) 在局部內部類中只可以訪問當前方法中 final 類型的參數與變量。如果方法中的成員與外部類中的成員同名,則可以使用 <OuterClassName>.this.<MemberName> 的形式訪問外部類中的成員。
public class Test
{
    int a=0;
    int d=0;
    public void method()
    {
        int b=0;
        final int c=0;
        final int d=10;
        class Inner
        {
            a2=a;    //訪問外部類中的成員
            //intb2=b;    //編譯出錯
            int c2=c;    //訪問方法中的成員
            int d2=d;    //訪問方法中的成員
            int d3=Test.this.d;    //訪問外部類中的成員
        }
        Inner i=new Inner();
        System.out.println(i.d2);    //輸出10
        System.out.printIn(i.d3);    //輸出0
    }
    public static void main(String[] args)
    {
        Test t=new Test();
        t.method();
    }
}

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

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

底部Logo
极速pk10开户