内部类的分类
- 静态内部类
- 成员内部类(非静态)
- 方法内部类
- 匿名内部类
个内部类特点
- 静态内部类:跟类结构中成员的定义位置一样,用static修饰定义的类。静态内部类结构的定义跟独立类完全一样,能够定义类成员(类方法,类变量)和实例成员(实例变量,实例方法)。静态内部类中只能够访问外部类的类成员,不能够访问实例成员。在外部类内部可以想利用普通成员一样使用静态内部类,在类外部使用(非private类)时不需要创建外部类实例,直接通过类名访问。
- 成员内部类:跟独立类结构定义中实例成员的定义一样,成员内部类只能够定义实例成员,不能够定义类成员,成员内部类中能够访问外部类所有成员,外部类内部使用成员内部类跟使用其他成员是一样的,外部类外部访问成员内部类(非private)需要创建具体实例,因为成员内部类跟外部类具体实例有关。
- 方法内部类:在一个方法内定义的类,结构定义跟其他独立类一样,方法内部类中不能够定义类成员,只能定义实例成员,方法内部类可以访问外部类成员,方法局部变量(包括参数)但是java8之前如果在方法内部类中访问局部变量则用final修饰局部变量,java8以后没有这个限制,但是局部变量同样不能被修改,即实际上的常量。方法内部类只能够在方法内使用。
- 匿名内部类:类结构在类实例化时定义,匿名内部类不能够定义类成员。
本文详细介绍了Java中的内部类,包括静态内部类、成员内部类、方法内部类和匿名内部类的特点及使用方式。阐述了每种内部类的定义、成员访问权限及应用场景。

被折叠的 条评论
为什么被折叠?



