静态内部类与非静态内部类调用方式的区别
静态内部类不依赖外部类的实例,可以直接通过外部类名来创建实例:OuterClass.StaticInnerClass staticInner = new OuterClass.StaticInnerClass(); 而非静态内部类必须先创建外部类实例,再通过该实例创建内部类实例。静态内部类不能访问外部类的非静态成员,而非静态内部类可以访问外部类的所有成员。
静态内部类与非静态内部类调用方式的区别
静态内部类不依赖外部类的实例,可以直接通过外部类名来创建实例:OuterClass.StaticInnerClass staticInner = new OuterClass.StaticInnerClass(); 而非静态内部类必须先创建外部类实例,再通过该实例创建内部类实例。静态内部类不能访问外部类的非静态成员,而非静态内部类可以访问外部类的所有成员。