非静态内部类:在外部类中定义一个普通的内部类。
public class Outer { class Inner { // 内部类的代码 }}静态内部类:在外部类中定义一个静态的内部类。public class Outer { static class Inner { // 内部类的代码 }}匿名内部类:在使用接口或抽象类的地方直接创建并实例化一个内部类。public class Outer { public void method() { Interface inner = new Interface() { // 匿名内部类的代码 }; }}局部内部类:在方法体内部定义一个内部类。public class Outer { public void method() { class Inner { // 内部类的代码 } }} 

