中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

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
仁寿县| 枣阳市| 丹东市| 延川县| 阿拉善右旗| 永仁县| 海口市| 大同县| 合川市| 滨州市| 松阳县| 临猗县| 伊通| 冕宁县| 榆社县| 天祝| 辉南县| 浦东新区| 稷山县| 新津县| 平顶山市| 沙河市| 张家港市| 闽清县| 韶山市| 合川市| 山东省| 城步| 类乌齐县| 防城港市| 栖霞市| 门头沟区| 封开县| 金川县| 襄城县| 双鸭山市| 榆社县| 桐城市| 荣成市| 富川| 柳州市|