91超碰碰碰碰久久久久久综合_超碰av人澡人澡人澡人澡人掠_国产黄大片在线观看画质优化_txt小说免费全本

溫馨提示×

Java 內部類咋定義

小樊
82
2024-10-24 09:10:05
欄目: 編程語言

在 Java 中,內部類(Inner Class)是定義在另一個類的內部的類。根據內部類與外部類的關系,可以分為四種類型:成員內部類、局部內部類、匿名內部類和靜態內部類。下面分別介紹這四種類型的定義方法。

  1. 成員內部類(Member Inner Class): 成員內部類是定義在外部類的成員位置上的類,它可以訪問外部類的所有成員(包括私有成員)。成員內部類的定義與普通類相同,只是在類名前面加上外部類的類名即可。例如:
public class OuterClass {
    private int outerData = 0;

    public class InnerClass {
        public void accessOuterData() {
            System.out.println("outerData = " + outerData);
        }
    }
}
  1. 局部內部類(Local Inner Class): 局部內部類是定義在方法或代碼塊中的類。局部內部類只能訪問所在方法或代碼塊中的final變量(包括實際上被聲明為final的變量,以及實際上沒有被修改其值的變量)。局部內部類的定義與普通類相同,只是在類名前面加上外部類的類名即可。例如:
public class OuterClass {
    public void createLocalInnerClass() {
        final int localData = 0;

        class LocalInnerClass {
            public void accessLocalData() {
                System.out.println("localData = " + localData);
            }
        }

        LocalInnerClass localInner = new LocalInnerClass();
        localInner.accessLocalData();
    }
}
  1. 匿名內部類(Anonymous Inner Class): 匿名內部類是沒有名字的內部類,通常用于創建一次性使用的對象,例如實現接口或繼承其他類。匿名內部類的定義與普通類相似,只是在類名位置使用關鍵字 new,并緊接著給出類的構造函數和實現代碼。例如:
public class OuterClass {
    public void createAnonymousInnerClass() {
        new Object() {
            public void printMessage() {
                System.out.println("This is an anonymous inner class.");
            }
        }.printMessage();
    }
}
  1. 靜態內部類(Static Inner Class): 靜態內部類是定義在外部類的靜態成員位置上的類。靜態內部類不能訪問外部類的非靜態成員,但可以通過外部類實例訪問靜態成員。靜態內部類的定義與普通類相同,只是在類名前面加上 static 關鍵字。例如:
public class OuterClass {
    private static int outerStaticData = 0;

    public static class StaticInnerClass {
        public void accessOuterStaticData() {
            System.out.println("outerStaticData = " + outerStaticData);
        }
    }
}

0
河北区| 富阳市| 鄯善县| 鄂托克前旗| 汕尾市| 南陵县| 永登县| 邳州市| 江口县| 如皋市| 眉山市| 宜城市| 嘉定区| 广州市| 张家川| 安塞县| 衡东县| 泊头市| 嘉定区| 邹平县| 滦南县| 青神县| 兴安县| 房山区| 沁水县| 斗六市| 筠连县| 萨嘎县| 昂仁县| 湖南省| 平利县| 虎林市| 比如县| 岑溪市| 宽城| 高邮市| 通化市| 广南县| 靖江市| 和硕县| 大方县|