package com.innerClass;public class Outer {public static void main(String[] args) { Outer2 outer2=new Outer2();//外部调用 outer2.print();//对象调用外部类的方法,在外部类又通过实例化对象调用内部类的方法 //直接在外部使用内部类,这种方法不推荐使用 Outer2.InnerClass inner=outer2.new InnerClass("在外部使用"); inner.print(); outer2.print2();//调用在方法中定义内部类}}/*//成员内部类,编译时产生两个文件Outer.class和Outer$Inner.class(内部的类)*/class Outer2{public void print(){InnerClass inner=new InnerClass("成员内部类");//调用内部类的方法 inner.print();}public void print2(){//在方法中定义内部类class InnerClass2{public void print(){System.out.println("在方法中定义内部类");}}InnerClass2 inner=new InnerClass2();inner.print();}class InnerClass{//供外部类调用内部类的方法和参数private String name;public InnerClass(String name){this.name=name;}public void print(){System.out.println(name);}}}