一、内部类
是定义在类的内部的新类型,即内部类,外部的类叫做外部类
二、内部类的分类
根据位置不同,可以分为 成员内部类,方法内部类(局部内部类)
带static修饰词的类 静态内部类
没有名称的类:匿名内部类
三、方法内部类,静态内部类
方法内部类:定义在方法中,相当于局部变量,仅限于在方法中使用
定义时不能使用修饰词,可以直接访问外部类的非静态成员变量
静态内部类:定义在类中方法之外
定义时需要使用修饰词static,可以直接访问外部类的静态成员
四、成员内部类,匿名内部类
较为常用的两种类型
1、 ①成员内部类:以类的成员来定义
可以使用任何修饰词。访问外部类的成员时方法内隐藏一个指向外部类对象的引用。外部类名.this
②成员内部类的使用:
创建对象:要先创建一个外部类的对象outer,然后使用外部类对象去使用new调用内部类的构造方法实例化
Inner inner = outer.new Inner(有参传参);
③外部类访问成员内部类里的成员:
在外部类添加一个内部类的成员变量进行访问。
2、匿名内部类:没有名字的类,写在外部类的方法中,只能使用一次,不需要定义类的结构
通常是为了实现接口、抽象类或某一现有的类的子类