1.概述

24.内部类_IT

 2.成员内部类调用方法:

public class OutClass {
    public String name = "十点多";

    public class InnerClass {
        public String name2 = name;
    }

    public void show() {
        InnerClass innerClass = new InnerClass();
        System.out.println(innerClass.name2);
    }

}
public class Demo {
    public static void main(String[] args) {
//        访问内部类方法1
        OutClass.InnerClass innerClass=new OutClass().new InnerClass();
//        访问内部类方法2
        OutClass outClass = new OutClass();
        outClass.show();
    }
}

3.局部内部类

24.内部类_IT_02

public class InnerTest {
    private int num = 10;

    public void show() {
        class Inner {
            public void methord() {
                System.out.println(num);
            }
        }
        Inner inner = new Inner();
        inner.methord();
    }
}

4.匿名内部类

24.内部类_IT_03

public class Out {
    public void methord() {
        new Inner() {
            @Override
            public void show() {
                System.out.println("匿名内部类");
            }
        }.show();
        Inner inner = new Inner() {
            @Override
            public void show() {
                System.out.println("匿名内部类");
            }
        };
        inner.show();
    }

}

5.匿名内部类开发中的使用

24.内部类_IT_04

 补充:

 24.内部类_IT_05

上面图片中两种写法效果相同,其中红色方法是内部类写法

 24.内部类_IT_06

内部类调试

myeclipse 编辑java 代码是内部类 断点无法进入, 调试时将内部类方法的第一行断点可进入内部类调用的方法