Java Inner Class

21

定义在类中的类

可以访问外部类的private字段

用法:

1.隐藏具体类实现

public class DataOuterClass {

    private String data = "外部类数据";

    private class InnerClass {

        public InnerClass() {

            System.out.println(data);

        }

    }

    public void getInner() {

        new InnerClass();

    }

    public static void main(String[] args) {

        DataOuterClass outerClass = new DataOuterClass();

        outerClass.getInner();

    }

}

2.多继承

3.实现大多数 不可变对象 的Builder

4.匿名内部类简化接口实现

不用实现接口的时候又命名一次,放在类里面还能捕获外部类的字段