![](https://images2015.cnblogs.com/blog/1172399/201706/1172399-20170616013419275-434125481.png)
![](https://images2015.cnblogs.com/blog/1172399/201706/1172399-20170616013437603-1919751357.png)
Outer/Inner | 宿主类外部 | 宿主类里面的static方法中 | 宿主类里面的非静态方法中 |
|
成员内部类(实例内部类) | Outer out = new Outer();//先创建宿主类的对象 Outer.Inner in = out.new Inner(); |
Outer out = new Outer();//先创建宿主类的对象 /*Outer.*/Inner in = out.new Inner(); |
Inner in = new Inner(); |
|
静态内部类 | Outer.Inner in = new Outer.Inner();//调用静态内部类的构造方法来创建对象 | Inner in = new Inner(); | Inner in = new Inner(); |
|
![](https://images2015.cnblogs.com/blog/1172399/201706/1172399-20170616013456743-1331733023.png)