outer class 应该就是非内部类或者匿名类。
就是一个 Java 文件,一开始定义的 class。
如果在这个 class 里面再定义 class,就属于内部类了
访问内部类必须从外部类的名称开始查找,不然就找不到。
这句话的意思大概是:class A {
    class B {
    }    void method() {
        B b; // 正确
    }    static void mathod1() {
        B b; // 错误,静态方法无法访问非静态的 class B
    }
}class C {
    B b; // 错误,无法访问
    A.B b; // 这样应该也是错了,毕竟 B 不是静态的
}其实那句话也不全对,如果定义 class B 的时候是:
class A {
    static class B {
    }
}
那么在 static void method1() 中定义 B b; 就是正确的。
在 class C 中使用 A.B 来访问 B 类也是正确的,因为此时B是A的静态成员