A-A+
java内部类学习笔记(非静态类和静态类)
非静态内部类:
1、非静态内部类实例化需要依赖外部类实例化对象。
外部类.内部类 内部类实例化名称=外部类实例化对象.new 内部类();
2、非静态内部类里不能定义 静态变量,方法。
因为非静态内部类依赖外部类实例才能实例化 ,而静态变量不需要实例即可实例化,这两项是相矛 盾的(如果一个非静态内部类有了静态成员,静态成员不依托于任何内部类实例,那结果也就是此内部类不需要外部类实例就初始化了变量,严重侵害了内部类的定向)。
静态内部类:
1、静态内部类中不能用到外部类中的非静态变量。
2、静态内部类不依赖外部类实例,可以直接 new 静态内部类(此处相当于就是外部类),静态内部类里全是静态变量、方法则不需要new,否则如果需要用到静态内部类中的 非静态方法、变量,则需要new。