定义一个内部类
1class Outer{    //外部类2    private String msg = "cirry";    //私有成员属性3    public void fun(){        // 普通方法4        Inner inner  = new Inner();        //实例化内部类对象5        inner.print();6
7    }8    class Inner{        // 内部类9        public void print(){10            System.out.println(Outer.this.msg);        //outer类中的属性11        }12    }13}14
15public class InnerClass{5 collapsed lines
16    public static void main(String args []){17        Outer outer = new Outer();        //实例外部类对象18        outer.fun();        // 调用外部类中的方法19    }20}将以上程序分为两个类:
1class Outer{    //外部类2    private String msg = "cirry";    //私有成员属性3    public void fun(){        // 普通方法4
5        //思考五:需要将我们的对象Outer传递到Inner类当中6        Inner inner  = new Inner(this);        //实例化内部类对象7        inner.print();8    }9    // 思考一:msg属性如果要被外部访问需要getter方法10    public String getMsg() {11        return this.msg;12    }13}14
15class Inner{        // 内部类19 collapsed lines
16    //思考三:Inner这个类对象实例化的时候需要Outer类的引用;17    private Outer out;18
19    //思考四:需要通过Inner类的构造方法获取Outer类对象20    public Inner(Outer out){21        this.out = out;22    }23    public void print(){24        //思考二:如果需要调用外部类中的getter方法,那么一定需要outer类对象25        System.out.println(this.out.getMsg());        //outer类中的属性26    }27}28
29public class InnerClass{30    public static void main(String args []){31        Outer outer = new Outer();        //实例外部类对象32        outer.fun();        // 调用外部类中的方法33    }34}内部类实例化对象的格式如下:
1//外部类.内部类 内部类对象 = new 外部类().new 内部类();2Outer.Inner in = new Outer().new Inner(); 
  
 