1.普通内部类class A{ class B { }}外界要使用A中的B,要先创建A的实例,然后通过A实例创建BA a = new A();A.B b = a.new B();如果class B类前面有private修饰符外界就无法使用内部类了。
2.静态内部类class A{ static class B { }}静态内部类,外部可以直接使用和创建对象,不必先创建外部类的对象。A.B b = new A.B();3.局部内部类:将类的定义放在函数的局部,这样的内部类只能给当前函数使用。4.匿名内部类。