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 類型的參數與變量。如果方法中的成員與外部類中的成員同名,則可以使用 .this. 的形式訪問外部類中的成員。
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; // 訪問外部類中的成員// int b2 = b; // 編譯出錯int c2 = c; // 訪問方法中的成員int d2 = d; // 訪問方法中的成員int d3 = Test.this.d; //訪問外部類中的成員}Inner i = new Inner();System.out.println(i.d2); // 輸出10System.out.printIn(i.d3); // 輸出0}public static void main(String[] args) {Test t = new Test();t.method();} }總結
- 上一篇: Java 检测文件是否存在
- 下一篇: Java 获取文件的上级目录