1.成员内部类和匿名类为最常见的内部类。
2.在一个类中使用内部类,可以再内部类中直接存取其所在类的私有成员变量,在成员内部类中可以随意使用外部类的成员方法及成员变量,尽管成员变量i以及成员方法g()都在外部类中被修饰为private,但在成员内部类中可以直接使用。成员内部类的语法如下:
class OuterClass{
class InnerClass{
}
}

3.内部类的实例一定要绑定在外部类的实例上,如果从外部类中初始化一个内部类对象,那么内部类对象就会绑定在外部类对象上。内部类初始化方式与其他类的初始化方式相同,都是使用new关键字。

4.成员内部类不止可以在外部类中使用,在其他类中也可以使用。在其他类中创建内部类对象的语法非常特殊,语法如下:
外部类 outer = new 外部类();
外部类.内部类 inner = outer.new 内部类();
5.如果在外部类和非静态方法之外实例化内部类对象,需要使用“外部类.内部类”的形式指定该对象类型。
6.内部类对象会依赖与外部类对象,除非已经存在一个外部类对象,否则类中不会出现内部类对象。