讨论Java中的内部类是什么?
目录 前言 what is that? 成员内部类 局部内部类 匿名内部类 why use it? how to use? 前言 内部类,讲完前面的特性,今天就讲下内部类这个用的比较多,出现频率挺高的知识点。 what is that? 首先,顾名思义,内部类就是在类的内部,也就是类的类,嵌套在里面的。直接代码介绍,现一般分为成员内部类和局部内部类,还有一种匿名类。内部类拥有对外围对象的引用。大部分使用的都是成员内部类。 成员内部类 是一种与Field、方法、构造器和初始化块相似的类成员; 局部内部类和匿名内部类 则不是类成员。 成员内部类 定义在类里面的成员变量域的类,就是成员内部类。此时的内部类作为其外部类的成员,所以可以使用任意访问控制符如private、protected和public等修饰。 class A { //成员内部类,这种包含类的结构 class b{} } 成员内部类还可以分为静态内部类和非静态内部类。注意: 根据静态成员不能访问非静态成员的规则,外部类的静态方法、静态代码块不能访问非静态内部类,包括不能使用非静态内部类定义变量、创建实例等。 静态内部类(带static) static关键字的作用是把类的成员变成 类相关 ,而 不是 实例相关,即static修饰的成员属于 整个 类,而不属于单个对象。静态内部类只可以访问静态的外部类的方法和对象。但是静态内部类