publicclassTest{Inner i =newInner();// 編譯出錯Test.Inner ti =newTest.Inner();// 編譯出錯Test.Inner ti2 =newTest().newInner();// 編譯出錯publicvoidmethod(){classInner{}Inner i =newInner();}}
在局部內(nèi)部類中只可以訪問當前方法中 final 類型的參數(shù)與變量。如果方法中的成員與外部類中的成員同名,則可以使用 <OuterClassName>.this.<MemberName> 的形式訪問外部類中的成員。
publicclassTest{int a =0;int d =0;publicvoidmethod(){int b =0;finalint c =0;finalint d =10;classInner{int a2 = a;// 訪問外部類中的成員// int b2 = b; // 編譯出錯int c2 = c;// 訪問方法中的成員int d2 = d;// 訪問方法中的成員int d3 = Test.this.d;//訪問外部類中的成員}Inner i =newInner();System.out.println(i.d2);// 輸出10System.out.println(i.d3);// 輸出0}publicstaticvoidmain(String[] args){Test t =newTest();t.method();}}