为什么要使用内部类?在《Think in java》中有这样一句话:使用内部类最吸引人的原因是:每个内部类都能独立地继承一个(接口的)实现,所以无论外围类是否已经继承了某个(接口的)实现,对于内部类都没有影响。
java的内部类主要有以下几种情况:
1、静态内部类
2、匿名内部类
3、成员内部类
4、局部内部类
一、简单使用
外部类名.内部类名=外部类对象.new 内部类对象
特点:1、内部类可以无条件的访问外部类的成员变量。
(当创建一个内部类时,会自动生成一个连接到外部类的连接)
2、外部类访问内部类只能通过new 内部类对象访问。
3、内部类生成指向外部类的引用:外部类名.this
二、静态内部类
特点:与其他外部类没什么不同,可以直接new内部类出来,也只能访问外部类的静态成员变量和静态方法。
三、匿名内部类
特点:1、定义一个接口及其方法,在使用时直接new并实现其方法。
2、在内部类中使用的参数或者成员变量,必须修饰为final
四、成员内部类
外部类名.内部类名=外部类对象.new 内部类对象
特点:1、成员内部类中不能存在任何static的变量和方法
2、第二:成员内部类是依附于外围类的,所以只有先创建了外围类才能够创建内部类。
五、局部内部类
特点:定义在方法体内的类,只能在该方法内部使用。
具体参考:https://www.cnblogs.com/chenssy/p/3388487.html