10. Outer.Inner inner = new Outer().new Inner(); //1
11. //如果把1位置的访问方式换成 new Inner().seeOuter() 必须保证Inner是静态的
12. inner.seeOuter();
13. }
14. }
15. C、在外部其它类中访问内部类
16. class Outer {
17. private int x = 1;
18. class Inner {
19. public void seeOuter() {
20. ystem.out.println(x);
21. }
22. }
23. }
24. public class Touter{
25. public static void main(String[] args){
26. Outer.Inner inner = new Outer().new Inner();
27. inner.seeOuter();
28. }
29.
30. }
31.
复制代码
对比:在外部类的非静态方法中访问内部类:Inner in = new Inner();
在外部类的静态方法中访问内部类:Outer.Inner in = new Outer().new Inner();
在外部其他类中访问内部类:Outer.Inner in = new Outer().new Inner();