嵌套类

public class Main {

    // 静态嵌套类
    static class Inner1{ }
    /* 包内静态内部类的好处:
    1. 作用域不会扩散到包外
    2. 可使用 外部类.内部类 方式直接访问
    3. 内部类可以直接访问所有静态属性及方法
    */

    // 普通内部类
    class Inner2{}
    
    public void f(){
        // 局部内部类
        class Inner3{}
        
        // 匿名内部类
        new Object(){};
    }
    
}

使用理由

匿名内部类

局部内部类

普通内部类

静态嵌套类

对比

批注 2019-11-25 131139

批注 2019-11-25 131222

变量遮蔽

应用