内部类与静态内部类比较

内部类:

1、不能定义静态变量和静态方法

2、持有外部类的引用。如B是A的内部类则A.B b = new A().newB();

3、内部类可以引用外部类的静态或非静态变量和方法

静态内部类:

1、可以定义静态变量和静态方法

2、不持有外部类引用。如B是A的静态内部类则A.B b = new A.B();

3、内部类只能引用外部类的静态变量和静态方法

4、如果内部类的属性或方法为静态则可以直接通过类名引用。如A.B.c()

猜你喜欢

转载自blog.csdn.net/yufumatou/article/details/80374474