本帖最后由 cbb 于 2014-11-22 08:52 编辑
楼主我来给你解惑!内部类为什么有这样奇葩的东西呢?
楼主试想,让你描述一个大盒子,你怎么描述?你可以定义大盒子类!
如果这个大盒子里面还有个小盒子你又要怎么描述?肯定的是必须要在定义一个小盒子类!
那么问题来了,你如果把小盒子类定义在外面和大盒子类同等,那么就违背了现实常理!
因此,内部类也就诞生了!
而匿名类呢?使用它必须要继承或者实现一个接口,然后用new 父类名或者接口名…
它可以访问外部类,因为它持有了一个外部对象引用哦!
但是当它定义在局部内的时候,要访问它所在的局部变量时,被访问的局部变量必须要加上final修饰!这个要注意一下 |