普通内部类的字段与方法,只能放在类的外部层次上? 参考链接 因为内部类特殊,他被定向为是和成员变量,方法一样的外部类成员,他必须跟外部类实例相关联才能初始化,这是他的特点之一,为了这个其他东西都要让路,而静态成员是不需要实例就初始化的,如果一个非静态内部类有了静态成员,静态成员不依托于任何内部类实例,那结果也就是此内部类不需要外部类实例就初始化了变量,严重侵害了内部类的定向。java中匿名内部类和局部内部类中使用外部定义的对象为什么要求这个对象是final? 参考链接 实际上内部类里根本就没有访问外部类的本地变量, 而是做了一份拷贝(拷贝也是final的!), 内部类里一直使用的是这个拷贝.