http://android.blog.51cto.com/268543/384844
1)内部类是一个编译时概念,一旦编译成功,就会成为不同的两类。
Outer外部类,Inner为内部类编译后出现Outer.class 和Outer$Inner.class 两个类
由于是2个独立的类,因此内部类的成员变量/方法可以和外部类的相同.
2)成员内部类,作为外部类的成员,可以直接使用外部类的所有成员和方法,而外部类要访问内部类的所有成员,则需要通过内部类的对象来获取.
成员内部类不能有static属性和方法,因为成员内部类需要首先创建了外部类,才能创建它自己。
成员内部类引用外部类对象时,使用Outer.this来表示外部类对象
创建外部类对象
Outer outer = new Outer();
Outer.Inner inner = outer.new Inner();
3)局部内部类:定义在方法和作用域内的内部类
4)嵌套内部类:修饰为static的内部类,声明为static的内部类,不需要内部类对象和外部类对象之间的联系,
即可以直接Outer.Inner,不需要创建外部类,也不需要创建内部类。一般不将嵌套内部类声明为private。
6)