1. 静态内部类可以不依赖于外部类实例被实例化,普通内部类需要在外部类实例化之后才能实例化。
访问静态内部类:
A.StaticB b = new A. StaticB()
访问普通内部类:
A.CommonC c= new A().new CommonC();
2. 静态内部类不能访问外部类中的非静态变量和非静态方法,普通内部类可以访问外部类中的所有成员和方法。
3. 静态内部类内部可以有静态变量和静态方法,普通内部类内不可以有静态变量和静态方法。
4. 内部类可以被声明为private, public, protected, or package private. 但是封闭类(外部类)只能被声明为public or package private。